diff --git a/CHANGELOG.md b/CHANGELOG.md index 452dd461cd..96b820e854 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,45 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/nuxt/nuxt.js/compare/v2.5.1...v2.6.0) (2019-04-04) + + +### Bug Fixes + +* revert node-externals disabling in dev mode ([#5452](https://github.com/nuxt/nuxt.js/issues/5452)) ([6ce99d2](https://github.com/nuxt/nuxt.js/commit/6ce99d2)) +* **webpack:** prefer `main` over `module` field for server config ([#5446](https://github.com/nuxt/nuxt.js/issues/5446)) ([e155ea4](https://github.com/nuxt/nuxt.js/commit/e155ea4)) +* disable `node-externals` for dev mode ([#5414](https://github.com/nuxt/nuxt.js/issues/5414)) ([a5a1657](https://github.com/nuxt/nuxt.js/commit/a5a1657)) +* not override externals set by build.extend ([#5444](https://github.com/nuxt/nuxt.js/issues/5444)) ([1ae4333](https://github.com/nuxt/nuxt.js/commit/1ae4333)) +* **build:** disable loading `babel.config.js` by default ([#5365](https://github.com/nuxt/nuxt.js/issues/5365)) ([64fa424](https://github.com/nuxt/nuxt.js/commit/64fa424)) +* **builder:** await for renderer to load resources ([#5341](https://github.com/nuxt/nuxt.js/issues/5341)) ([caf5198](https://github.com/nuxt/nuxt.js/commit/caf5198)) +* **cli:** catch all possible errors thrown from proper-filelock ([#5347](https://github.com/nuxt/nuxt.js/issues/5347)) ([39bbe46](https://github.com/nuxt/nuxt.js/commit/39bbe46)) +* **renderer:** retry render if renderer is in loading or created state ([#5417](https://github.com/nuxt/nuxt.js/issues/5417)) ([8b99695](https://github.com/nuxt/nuxt.js/commit/8b99695)) +* **vue-app:** prevent mounting page twice on redirect ([#5361](https://github.com/nuxt/nuxt.js/issues/5361)) ([2d73e8a](https://github.com/nuxt/nuxt.js/commit/2d73e8a)) +* **vue-renderer:** add the csp hash if `unsafe-inline` hasn't been specified ([#5387](https://github.com/nuxt/nuxt.js/issues/5387)) ([97db6a4](https://github.com/nuxt/nuxt.js/commit/97db6a4)) +* add type definition for configuring forkTsChecker ([2c1444d](https://github.com/nuxt/nuxt.js/commit/2c1444d)) +* fail in case of missing core-js dependency ([#5342](https://github.com/nuxt/nuxt.js/issues/5342)) ([439b914](https://github.com/nuxt/nuxt.js/commit/439b914)) +* memory leak in dev mode ([#5399](https://github.com/nuxt/nuxt.js/issues/5399)) ([04ddcac](https://github.com/nuxt/nuxt.js/commit/04ddcac)) +* SyntaxError Unexpected token export in importing babel runtime helper ([#5401](https://github.com/nuxt/nuxt.js/issues/5401)) ([3b85dd9](https://github.com/nuxt/nuxt.js/commit/3b85dd9)) +* **vue-app:** decode uri in `getlocation` ([#5337](https://github.com/nuxt/nuxt.js/issues/5337)) ([77dcfe6](https://github.com/nuxt/nuxt.js/commit/77dcfe6)) + + +### Features + +* **babel-preset-app:** support specifying core-js version ([#5411](https://github.com/nuxt/nuxt.js/issues/5411)) ([159123f](https://github.com/nuxt/nuxt.js/commit/159123f)) +* **cli:** add `--quiet` option to nuxt generate command ([#5357](https://github.com/nuxt/nuxt.js/issues/5357)) ([91f4eb0](https://github.com/nuxt/nuxt.js/commit/91f4eb0)) +* **cli:** add internal _generate and _build options ([#5434](https://github.com/nuxt/nuxt.js/issues/5434)) ([516aea3](https://github.com/nuxt/nuxt.js/commit/516aea3)) +* **typescript:** detect typescript based on `tsconfig.json` ([#5412](https://github.com/nuxt/nuxt.js/issues/5412)) ([6ffc5c5](https://github.com/nuxt/nuxt.js/commit/6ffc5c5)) +* **vue-renderer:** add csp meta tags ([#5354](https://github.com/nuxt/nuxt.js/issues/5354)) ([b978a37](https://github.com/nuxt/nuxt.js/commit/b978a37)) + + +### Reverts + +* **core:** call ready to prevent breaking changes ([#5413](https://github.com/nuxt/nuxt.js/issues/5413)) ([001ba77](https://github.com/nuxt/nuxt.js/commit/001ba77)) + + + + + ## [2.5.1](https://github.com/nuxt/nuxt.js/compare/v2.5.0...v2.5.1) (2019-03-21) diff --git a/README.md b/README.md index 6acacb9d7a..fa3c38bae6 100644 --- a/README.md +++ b/README.md @@ -100,10 +100,10 @@ Or you can start by using one of our starter templates: const { Nuxt, Builder } = require('nuxt') // Import and set nuxt.js options -let config = require('./nuxt.config.js') +const config = require('./nuxt.config.js') config.dev = (process.env.NODE_ENV !== 'production') -let nuxt = new Nuxt(config) +const nuxt = new Nuxt(config) // Start build process (only in development) if (config.dev) { @@ -117,7 +117,7 @@ Learn more: https://nuxtjs.org/api/nuxt ## Using nuxt.js as a middleware -You might want to use your own server with your configurations, your API and everything awesome your created with. That's why you can use nuxt.js as a middleware. It's recommended to use it at the end of your middleware since it will handle the rendering of your web application and won't call next(). +You might want to use your own server with your configurations, your API and everything awesome you have created with. That's why you can use nuxt.js as a middleware. It's recommended to use it at the end of your middleware since it will handle the rendering of your web application and won't call next(). ```js app.use(nuxt.render) diff --git a/distributions/nuxt-start/CHANGELOG.md b/distributions/nuxt-start/CHANGELOG.md index e6d26915dd..59b6db496c 100644 --- a/distributions/nuxt-start/CHANGELOG.md +++ b/distributions/nuxt-start/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/nuxt/nuxt.js/compare/v2.5.1...v2.6.0) (2019-04-04) + +**Note:** Version bump only for package nuxt-start + + + + + ## [2.5.1](https://github.com/nuxt/nuxt.js/compare/v2.5.0...v2.5.1) (2019-03-21) **Note:** Version bump only for package nuxt-start diff --git a/distributions/nuxt-start/package.json b/distributions/nuxt-start/package.json index 19567e96b9..2853f43d16 100644 --- a/distributions/nuxt-start/package.json +++ b/distributions/nuxt-start/package.json @@ -1,6 +1,6 @@ { "name": "nuxt-start", - "version": "2.5.1", + "version": "2.6.0", "description": "Starts Nuxt.js Application in production mode", "keywords": [ "nuxt", @@ -52,11 +52,11 @@ "main": "dist/nuxt-start.js", "bin": "bin/nuxt-start.js", "dependencies": { - "@nuxt/cli": "2.5.1", - "@nuxt/core": "2.5.1", + "@nuxt/cli": "2.6.0", + "@nuxt/core": "2.6.0", "node-fetch": "^2.3.0", "vue": "^2.6.10", - "vue-meta": "^1.5.8", + "vue-meta": "^1.6.0", "vue-no-ssr": "^1.1.1", "vue-router": "^3.0.2", "vuex": "^3.1.0" diff --git a/distributions/nuxt-ts/CHANGELOG.md b/distributions/nuxt-ts/CHANGELOG.md index a91c810c5a..023578c974 100644 --- a/distributions/nuxt-ts/CHANGELOG.md +++ b/distributions/nuxt-ts/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/nuxt/nuxt.js/compare/v2.5.1...v2.6.0) (2019-04-04) + +**Note:** Version bump only for package nuxt-ts + + + + + ## [2.5.1](https://github.com/nuxt/nuxt.js/compare/v2.5.0...v2.5.1) (2019-03-21) **Note:** Version bump only for package nuxt-ts diff --git a/distributions/nuxt-ts/package.json b/distributions/nuxt-ts/package.json index b5808ab2d9..e1b82be4be 100644 --- a/distributions/nuxt-ts/package.json +++ b/distributions/nuxt-ts/package.json @@ -1,6 +1,6 @@ { "name": "nuxt-ts", - "version": "2.5.1", + "version": "2.6.0", "description": "Nuxt With Runtime Typescript Support", "keywords": [ "nuxt", @@ -56,14 +56,14 @@ "nuxts": "bin/nuxt-ts.js" }, "dependencies": { - "@nuxt/builder": "2.5.1", - "@nuxt/cli": "2.5.1", - "@nuxt/core": "2.5.1", - "@nuxt/generator": "2.5.1", - "@nuxt/loading-screen": "^0.1.2", - "@nuxt/opencollective": "^0.2.1", - "@nuxt/typescript": "2.5.1", - "@nuxt/webpack": "2.5.1" + "@nuxt/builder": "2.6.0", + "@nuxt/cli": "2.6.0", + "@nuxt/core": "2.6.0", + "@nuxt/generator": "2.6.0", + "@nuxt/loading-screen": "^0.2.0", + "@nuxt/opencollective": "^0.2.2", + "@nuxt/typescript": "2.6.0", + "@nuxt/webpack": "2.6.0" }, "engines": { "node": ">=6.0.0", diff --git a/distributions/nuxt/CHANGELOG.md b/distributions/nuxt/CHANGELOG.md index b9519ab877..cac4df4b20 100644 --- a/distributions/nuxt/CHANGELOG.md +++ b/distributions/nuxt/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/nuxt/nuxt.js/compare/v2.5.1...v2.6.0) (2019-04-04) + +**Note:** Version bump only for package nuxt + + + + + ## [2.5.1](https://github.com/nuxt/nuxt.js/compare/v2.5.0...v2.5.1) (2019-03-21) **Note:** Version bump only for package nuxt diff --git a/distributions/nuxt/package.json b/distributions/nuxt/package.json index 7203f6bc0f..c321c8b6cb 100644 --- a/distributions/nuxt/package.json +++ b/distributions/nuxt/package.json @@ -1,6 +1,6 @@ { "name": "nuxt", - "version": "2.5.1", + "version": "2.6.0", "description": "A minimalistic framework for server-rendered Vue.js applications (inspired by Next.js)", "keywords": [ "nuxt", @@ -54,13 +54,13 @@ "postinstall": "opencollective || exit 0" }, "dependencies": { - "@nuxt/builder": "2.5.1", - "@nuxt/cli": "2.5.1", - "@nuxt/core": "2.5.1", - "@nuxt/generator": "2.5.1", - "@nuxt/loading-screen": "^0.1.2", - "@nuxt/opencollective": "^0.2.1", - "@nuxt/webpack": "2.5.1" + "@nuxt/builder": "2.6.0", + "@nuxt/cli": "2.6.0", + "@nuxt/core": "2.6.0", + "@nuxt/generator": "2.6.0", + "@nuxt/loading-screen": "^0.2.0", + "@nuxt/opencollective": "^0.2.2", + "@nuxt/webpack": "2.6.0" }, "engines": { "node": ">=8.0.0", diff --git a/examples/docker-build/.dockerignore b/examples/docker-build/.dockerignore new file mode 100644 index 0000000000..f935a370cd --- /dev/null +++ b/examples/docker-build/.dockerignore @@ -0,0 +1,84 @@ +# Created by .ignore support plugin (hsz.mobi) +### Node template +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# next.js build output +.next + +# nuxt.js build output +.nuxt + +# Nuxt generate +dist + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless + +# IDE +.idea + +# Service worker +sw.* diff --git a/examples/docker-build/.yarnclean b/examples/docker-build/.yarnclean new file mode 100644 index 0000000000..846be8d4e3 --- /dev/null +++ b/examples/docker-build/.yarnclean @@ -0,0 +1,5 @@ +*.yaml +*.md +*.lock +LICENSE +CHANGELOG diff --git a/examples/docker-build/README.md b/examples/docker-build/README.md new file mode 100644 index 0000000000..a308718006 --- /dev/null +++ b/examples/docker-build/README.md @@ -0,0 +1,12 @@ +# docker-build + +## Build Setup + +```bash +# Build a nuxt-docker image +$ docker build -t nuxt-docker . + +# Run the container for the nuxt-docker image with a exposed port 3000 +$ docker run --rm -it -p 3000:3000 nuxt-docker + +``` diff --git a/examples/docker-build/assets/README.md b/examples/docker-build/assets/README.md new file mode 100644 index 0000000000..56f8545898 --- /dev/null +++ b/examples/docker-build/assets/README.md @@ -0,0 +1 @@ +# ASSETS diff --git a/examples/docker-build/components/README.md b/examples/docker-build/components/README.md new file mode 100644 index 0000000000..6bd97512d8 --- /dev/null +++ b/examples/docker-build/components/README.md @@ -0,0 +1 @@ +# COMPONENTS diff --git a/examples/docker-build/dockerfile b/examples/docker-build/dockerfile new file mode 100644 index 0000000000..205325fba8 --- /dev/null +++ b/examples/docker-build/dockerfile @@ -0,0 +1,31 @@ +FROM node:latest as builder + +WORKDIR /src + +COPY . . + +RUN yarn install \ + --prefer-offline \ + --frozen-lockfile \ + --non-interactive \ + --production=false + +RUN yarn build + +RUN rm -rf node_modules && \ + NODE_ENV=production yarn install \ + --prefer-offline \ + --pure-lockfile \ + --non-interactive \ + --production=true + +FROM node:alpine + +WORKDIR /src + +COPY --from=builder /src . + +ENV HOST 0.0.0.0 +EXPOSE 3000 + +CMD [ "yarn", "start" ] diff --git a/examples/docker-build/layouts/README.md b/examples/docker-build/layouts/README.md new file mode 100644 index 0000000000..dc04186c20 --- /dev/null +++ b/examples/docker-build/layouts/README.md @@ -0,0 +1 @@ +# LAYOUTS diff --git a/examples/docker-build/layouts/default.vue b/examples/docker-build/layouts/default.vue new file mode 100644 index 0000000000..ed56933139 --- /dev/null +++ b/examples/docker-build/layouts/default.vue @@ -0,0 +1,8 @@ + + + diff --git a/examples/docker-build/middleware/README.md b/examples/docker-build/middleware/README.md new file mode 100644 index 0000000000..a98e708949 --- /dev/null +++ b/examples/docker-build/middleware/README.md @@ -0,0 +1 @@ +# MIDDLEWARE diff --git a/examples/docker-build/nuxt.config.js b/examples/docker-build/nuxt.config.js new file mode 100644 index 0000000000..5a8841e423 --- /dev/null +++ b/examples/docker-build/nuxt.config.js @@ -0,0 +1,54 @@ +import pkg from './package' + +export default { + mode: 'universal', + + /* + ** Headers of the page + */ + head: { + title: pkg.name, + meta: [ + { charset: 'utf-8' }, + { name: 'viewport', content: 'width=device-width, initial-scale=1' }, + { hid: 'description', name: 'description', content: pkg.description } + ], + link: [ + { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' } + ] + }, + + /* + ** Customize the progress-bar color + */ + loading: { color: '#fff' }, + + /* + ** Global CSS + */ + css: [ + ], + + /* + ** Plugins to load before mounting the App + */ + plugins: [ + ], + + /* + ** Nuxt.js modules + */ + modules: [ + ], + + /* + ** Build configuration + */ + build: { + /* + ** You can extend webpack config here + */ + extend(config, ctx) { + } + } +} diff --git a/examples/docker-build/package.json b/examples/docker-build/package.json new file mode 100644 index 0000000000..ec1ae39f7e --- /dev/null +++ b/examples/docker-build/package.json @@ -0,0 +1,16 @@ +{ + "name": "docker-build", + "scripts": { + "dev": "nuxt", + "build": "nuxt build", + "start": "nuxt-start", + "generate": "nuxt generate" + }, + "dependencies": { + "cross-env": "latest", + "nuxt-start": "latest" + }, + "devDependencies": { + "nuxt": "latest" + } +} diff --git a/examples/docker-build/pages/README.md b/examples/docker-build/pages/README.md new file mode 100644 index 0000000000..2a7198f3d0 --- /dev/null +++ b/examples/docker-build/pages/README.md @@ -0,0 +1 @@ +# PAGES diff --git a/examples/docker-build/pages/index.vue b/examples/docker-build/pages/index.vue new file mode 100644 index 0000000000..050f573569 --- /dev/null +++ b/examples/docker-build/pages/index.vue @@ -0,0 +1,12 @@ + + + + + diff --git a/examples/docker-build/plugins/README.md b/examples/docker-build/plugins/README.md new file mode 100644 index 0000000000..49df5d2ddb --- /dev/null +++ b/examples/docker-build/plugins/README.md @@ -0,0 +1 @@ +# PLUGINS diff --git a/examples/docker-build/static/README.md b/examples/docker-build/static/README.md new file mode 100644 index 0000000000..8fce910597 --- /dev/null +++ b/examples/docker-build/static/README.md @@ -0,0 +1 @@ +# STATIC diff --git a/examples/docker-build/static/favicon.ico b/examples/docker-build/static/favicon.ico new file mode 100644 index 0000000000..382fecbbf9 Binary files /dev/null and b/examples/docker-build/static/favicon.ico differ diff --git a/examples/docker-build/store/README.md b/examples/docker-build/store/README.md new file mode 100644 index 0000000000..0987715ce3 --- /dev/null +++ b/examples/docker-build/store/README.md @@ -0,0 +1 @@ +# STORE diff --git a/examples/markdownit/pages/index.vue b/examples/markdownit/pages/index.vue index 9abf606cd6..b03dee998b 100644 --- a/examples/markdownit/pages/index.vue +++ b/examples/markdownit/pages/index.vue @@ -6,8 +6,6 @@ Data model is: {{ model }} Goto About - - Goto Pug diff --git a/examples/with-buefy/nuxt.config.js b/examples/with-buefy/nuxt.config.js index 06cc234cad..663560b91f 100644 --- a/examples/with-buefy/nuxt.config.js +++ b/examples/with-buefy/nuxt.config.js @@ -3,8 +3,9 @@ export default { ** Customize the progress bar color */ loading: { color: '#3B8070' }, - mode: 'spa', - plugins: ['~plugins/buefy'], + modules: [ + 'nuxt-buefy' + ], router: { linkActiveClass: 'is-active' } diff --git a/examples/with-buefy/package.json b/examples/with-buefy/package.json index 126b946569..6e5c6241e8 100644 --- a/examples/with-buefy/package.json +++ b/examples/with-buefy/package.json @@ -10,12 +10,7 @@ "post-update": "yarn upgrade --latest" }, "dependencies": { - "buefy": "^0.5.4", "nuxt": "latest", - "vue": "~2.4.4" - }, - "devDependencies": { - "node-sass": "^4.6.0", - "sass-loader": "^6.0.6" + "nuxt-buefy": "latest" } } diff --git a/examples/with-buefy/pages/about.vue b/examples/with-buefy/pages/about.vue deleted file mode 100644 index 484c798b82..0000000000 --- a/examples/with-buefy/pages/about.vue +++ /dev/null @@ -1,3 +0,0 @@ - diff --git a/examples/with-buefy/pages/index.vue b/examples/with-buefy/pages/index.vue index 443f64cb5a..9ef1901afb 100644 --- a/examples/with-buefy/pages/index.vue +++ b/examples/with-buefy/pages/index.vue @@ -1,28 +1,43 @@ - + diff --git a/examples/with-buefy/plugins/buefy.js b/examples/with-buefy/plugins/buefy.js deleted file mode 100644 index 9fc091d0b9..0000000000 --- a/examples/with-buefy/plugins/buefy.js +++ /dev/null @@ -1,4 +0,0 @@ -import Vue from 'vue' -import Buefy from 'buefy' - -Vue.use(Buefy) diff --git a/examples/with-element-ui/package.json b/examples/with-element-ui/package.json index 6e1108f59d..6dd5c6c8cc 100644 --- a/examples/with-element-ui/package.json +++ b/examples/with-element-ui/package.json @@ -3,14 +3,14 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "element-ui": "^2", - "nuxt": "latest", - "post-update": "yarn upgrade --latest" + "element-ui": "^2.6.3", + "nuxt": "latest" }, "scripts": { "dev": "nuxt", "build": "nuxt build", - "start": "nuxt start" + "start": "nuxt start", + "post-update": "yarn upgrade --latest" }, "devDependencies": { "node-sass": "^4.6.0", diff --git a/lerna.json b/lerna.json index e200ed6a00..3bfe824d8f 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "2.5.1", + "version": "2.6.0", "npmClient": "yarn", "useWorkspaces": true, "conventionalCommits": true, diff --git a/package.json b/package.json index fc95b10010..dc2d709315 100644 --- a/package.json +++ b/package.json @@ -1,92 +1,91 @@ { + "name": "nuxt.js", "private": true, + "repository": { + "type": "git", + "url": "git+https://github.com/nuxt/nuxt.js.git" + }, "workspaces": [ "packages/*", "distributions/*" ], "scripts": { "build": "yarn clean && yarn pkg", - "pkg": "node -r esm ./scripts/package", "clean": "yarn clean:build && yarn clean:examples && yarn clean:test", "clean:build": "rimraf distributions/*/dist packages/*/dist", "clean:examples": "rimraf examples/*/dist examples/*/.nuxt", "clean:test": "rimraf test/fixtures/*/dist test/fixtures/*/.nuxt*/", - "dev": "node -r esm ./scripts/dev.js", "coverage": "codecov", + "dev": "node -r esm ./scripts/dev.js", + "postinstall": "lerna link && yarn dev", "lint": "eslint --ext .js,.mjs,.vue .", "lint:app": "eslint-multiplexer eslint --ignore-path packages/vue-app/template/.eslintignore 'test/fixtures/!(missing-plugin)/.nuxt!(-dev)/**' | eslint-multiplexer -b", "nuxt": "node -r esm ./packages/cli/bin/nuxt-cli.js", + "pkg": "node -r esm ./scripts/package", + "release": "./scripts/release", "test": "yarn test:fixtures && yarn test:unit && yarn test:types", - "test:fixtures": "jest test/fixtures --forceExit", "test:e2e": "jest -i test/e2e --forceExit", + "test:fixtures": "jest test/fixtures --forceExit", "test:lint": "yarn lint", - "test:unit": "jest test/unit packages --forceExit", "test:types": "tsc -p test/types", - "postinstall": "lerna link && yarn dev", - "release": "./scripts/release" + "test:unit": "jest test/unit packages --forceExit" }, "devDependencies": { - "@babel/core": "^7.4.0", - "@babel/preset-env": "^7.4.2", + "@babel/core": "^7.4.3", + "@babel/preset-env": "^7.4.3", "@nuxtjs/eslint-config": "^0.0.1", "@vue/server-test-utils": "^1.0.0-beta.29", "@vue/test-utils": "^1.0.0-beta.29", "babel-eslint": "^10.0.1", - "babel-jest": "^24.5.0", + "babel-jest": "^24.7.1", "babel-plugin-dynamic-import-node": "^2.2.0", "cheerio": "^1.0.0-rc.2", - "codecov": "^3.2.0", - "consola": "^2.5.7", + "codecov": "^3.3.0", + "consola": "^2.5.8", "cross-env": "^5.2.0", "cross-spawn": "^6.0.5", - "eslint": "^5.15.3", + "eslint": "^5.16.0", "eslint-config-standard": "^12.0.0", "eslint-multiplexer": "^1.0.4", "eslint-plugin-import": "^2.16.0", "eslint-plugin-jest": "^22.4.1", "eslint-plugin-node": "^8.0.1", - "eslint-plugin-promise": "^4.0.1", + "eslint-plugin-promise": "^4.1.1", "eslint-plugin-standard": "^4.0.0", "eslint-plugin-vue": "^5.2.2", - "esm": "^3.2.20", + "esm": "^3.2.22", "express": "^4.16.4", "finalhandler": "^1.1.1", - "fork-ts-checker-webpack-plugin": "^1.0.0", + "fork-ts-checker-webpack-plugin": "^1.0.1", "fs-extra": "^7.0.1", "get-port": "^4.2.0", "glob": "^7.1.3", "is-wsl": "^1.1.0", - "jest": "^24.5.0", + "jest": "^24.7.1", "jsdom": "^14.0.0", "klaw-sync": "^6.0.0", "lerna": "^3.13.1", "lodash": "^4.17.11", "node-fetch": "^2.3.0", - "pug": "^2.0.3", - "pug-plain-loader": "^1.0.0", - "puppeteer-core": "^1.13.0", + "puppeteer-core": "^1.14.0", "request": "^2.88.0", "request-promise-native": "^1.0.7", "rimraf": "^2.6.3", - "rollup": "^1.7.0", + "rollup": "^1.8.0", "rollup-plugin-alias": "^1.5.1", "rollup-plugin-babel": "^4.3.2", - "rollup-plugin-commonjs": "^9.2.1", + "rollup-plugin-commonjs": "^9.3.3", "rollup-plugin-json": "^4.0.0", "rollup-plugin-license": "^0.8.1", "rollup-plugin-node-resolve": "^4.0.1", "rollup-plugin-replace": "^2.1.1", - "sort-package-json": "^1.21.0", - "ts-jest": "^24.0.0", + "sort-package-json": "^1.22.1", + "ts-jest": "^24.0.1", "ts-loader": "^5.3.3", - "tslint": "^5.14.0", - "typescript": "^3.3.4000", + "ts-node": "^8.0.3", + "tslint": "^5.15.0", + "typescript": "^3.4.1", "vue-jest": "^4.0.0-beta.2", "vue-property-decorator": "^8.1.0" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/nuxt/nuxt.js.git" - }, - "name": "nuxt.js" + } } diff --git a/packages/babel-preset-app/CHANGELOG.md b/packages/babel-preset-app/CHANGELOG.md index 076032ecfb..af96ee806d 100644 --- a/packages/babel-preset-app/CHANGELOG.md +++ b/packages/babel-preset-app/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/nuxt/nuxt.js/compare/v2.5.1...v2.6.0) (2019-04-04) + + +### Bug Fixes + +* SyntaxError Unexpected token export in importing babel runtime helper ([#5401](https://github.com/nuxt/nuxt.js/issues/5401)) ([3b85dd9](https://github.com/nuxt/nuxt.js/commit/3b85dd9)) + + +### Features + +* **babel-preset-app:** support specifying core-js version ([#5411](https://github.com/nuxt/nuxt.js/issues/5411)) ([159123f](https://github.com/nuxt/nuxt.js/commit/159123f)) + + + + + ## [2.5.1](https://github.com/nuxt/nuxt.js/compare/v2.5.0...v2.5.1) (2019-03-21) **Note:** Version bump only for package @nuxt/babel-preset-app diff --git a/packages/babel-preset-app/README.md b/packages/babel-preset-app/README.md index db1330665a..d13085d447 100644 --- a/packages/babel-preset-app/README.md +++ b/packages/babel-preset-app/README.md @@ -15,6 +15,18 @@ babel: { } } ``` + +**Note**: Since `core-js@2` and `core-js@3` are both supported from Babel 7.4.0, we recommend directly adding `core-js` and setting the version via the [`corejs`](#corejs) option. + +```sh +yarn add --dev core-js@3 @babel/runtime-corejs3 + +# or + +yarn add --dev core-js@2 @babel/runtime-corejs2 + +``` + ...where `options` is an object with parameters, for example: ``` const options = { @@ -37,7 +49,7 @@ Below is a list of all available parameters: * **loose**, default `false` - '[@babel/preset-env](https://babeljs.io/docs/en/babel-preset-env#loose)' parameter and also sets `loose=true` for `@babel/plugin-proposal-class-properties` * **modern** passed by builder, either `true` or `false` * **modules**, default `false` - '[@babel/preset-env](https://babeljs.io/docs/en/babel-preset-env#modules)' parameter -* **polyfills**, default `['es6.array.iterator','es6.promise','es6.object.assign','es7.promise.finally']`, more [in the corresponding repository](https://github.com/zloirock/core-js) +* **polyfills**, default `core-js@2: ['es6.array.iterator','es6.promise','es6.object.assign','es7.promise.finally']`, `core-js@3: ['es.array.iterator','es.promise','es.object.assign','es.promise.finally']`, more [in the corresponding repository](https://github.com/zloirock/core-js) * **shippedProposals** - '[@babel/preset-env](https://babeljs.io/docs/en/babel-preset-env#shippedproposals)' parameter * **spec** - '[@babel/preset-env](https://babeljs.io/docs/en/babel-preset-env#spec)' parameter * **targets** - '[@babel/preset-env](https://babeljs.io/docs/en/babel-preset-env#targets)' parameter diff --git a/packages/babel-preset-app/package.json b/packages/babel-preset-app/package.json index 2f46cfd89d..17a1aa14ab 100644 --- a/packages/babel-preset-app/package.json +++ b/packages/babel-preset-app/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/babel-preset-app", - "version": "2.5.1", + "version": "2.6.0", "description": "babel-preset-app for nuxt.js", "repository": "nuxt/nuxt.js", "license": "MIT", @@ -10,14 +10,14 @@ ], "main": "src/index.js", "dependencies": { - "@babel/core": "^7.4.0", + "@babel/core": "^7.4.3", "@babel/plugin-proposal-class-properties": "^7.4.0", "@babel/plugin-proposal-decorators": "^7.4.0", "@babel/plugin-syntax-dynamic-import": "^7.2.0", - "@babel/plugin-transform-runtime": "^7.4.0", - "@babel/preset-env": "^7.4.2", - "@babel/runtime": "^7.4.2", - "@vue/babel-preset-jsx": "^1.0.0-beta.2", + "@babel/plugin-transform-runtime": "^7.4.3", + "@babel/preset-env": "^7.4.3", + "@babel/runtime": "^7.4.3", + "@vue/babel-preset-jsx": "^1.0.0-beta.3", "core-js": "^2.6.5" }, "publishConfig": { diff --git a/packages/babel-preset-app/src/index.js b/packages/babel-preset-app/src/index.js index 49b2e4d76d..fd0104819d 100644 --- a/packages/babel-preset-app/src/index.js +++ b/packages/babel-preset-app/src/index.js @@ -1,19 +1,39 @@ -const defaultPolyfills = [ - // Promise polyfill alone doesn't work in IE, - // Needs this as well. see: #1642 - 'es6.array.iterator', - // This is required for webpack code splitting, vuex etc. - 'es6.promise', - // this is needed for object rest spread support in templates - // as vue-template-es2015-compiler 1.8+ compiles it to Object.assign() calls. - 'es6.object.assign', - // #2012 es7.promise replaces native Promise in FF and causes missing finally - 'es7.promise.finally' -] +const coreJsMeta = { + 2: { + prefixes: { + es6: 'es6', + es7: 'es7' + }, + builtIns: '@babel/preset-env/data/built-ins.json.js' + }, + 3: { + prefixes: { + es6: 'es', + es7: 'es' + }, + builtIns: 'core-js-compat/data' + } +} -function getPolyfills(targets, includes, { ignoreBrowserslistConfig, configPath }) { +function getDefaultPolyfills(corejs) { + const { prefixes: { es6, es7 } } = coreJsMeta[corejs.version] + return [ + // Promise polyfill alone doesn't work in IE, + // Needs this as well. see: #1642 + `${es6}.array.iterator`, + // This is required for webpack code splitting, vuex etc. + `${es6}.promise`, + // this is needed for object rest spread support in templates + // as vue-template-es2015-compiler 1.8+ compiles it to Object.assign() calls. + `${es6}.object.assign`, + // #2012 es7.promise replaces native Promise in FF and causes missing finally + `${es7}.promise.finally` + ] +} + +function getPolyfills(targets, includes, { ignoreBrowserslistConfig, configPath, corejs }) { const { isPluginRequired } = require('@babel/preset-env') - const builtInsList = require('@babel/preset-env/data/built-ins.json.js') + const builtInsList = require(coreJsMeta[corejs.version].builtIns) const getTargets = require('@babel/preset-env/lib/targets-parser').default const builtInTargets = getTargets(targets, { ignoreBrowserslistConfig, @@ -48,6 +68,12 @@ module.exports = (context, options = {}) => { absoluteRuntime } = options + let { corejs = { version: 2 } } = options + + if (typeof corejs !== 'object') { + corejs = { version: Number(corejs) } + } + let { targets } = options if (modern === true) { targets = { esmodules: true } @@ -57,17 +83,16 @@ module.exports = (context, options = {}) => { let polyfills if (modern === false && useBuiltIns === 'usage' && buildTarget === 'client') { - polyfills = getPolyfills(targets, userPolyfills || defaultPolyfills, { + polyfills = getPolyfills(targets, userPolyfills || getDefaultPolyfills(corejs), { ignoreBrowserslistConfig, - configPath + configPath, + corejs }) plugins.push([require('./polyfills-plugin'), { polyfills }]) } else { polyfills = [] } - const corejs = { version: 2 } - // Pass options along to babel-preset-env presets.push([ require('@babel/preset-env'), { @@ -106,7 +131,7 @@ module.exports = (context, options = {}) => { regenerator: useBuiltIns !== 'usage', corejs: useBuiltIns !== false ? false : corejs, helpers: useBuiltIns === 'usage', - useESModules: true, + useESModules: buildTarget !== 'server', absoluteRuntime }]) diff --git a/packages/builder/CHANGELOG.md b/packages/builder/CHANGELOG.md index 51ae2ba13b..841d5b04f2 100644 --- a/packages/builder/CHANGELOG.md +++ b/packages/builder/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/nuxt/nuxt.js/compare/v2.5.1...v2.6.0) (2019-04-04) + + +### Bug Fixes + +* fail in case of missing core-js dependency ([#5342](https://github.com/nuxt/nuxt.js/issues/5342)) ([439b914](https://github.com/nuxt/nuxt.js/commit/439b914)) + + + + + ## [2.5.1](https://github.com/nuxt/nuxt.js/compare/v2.5.0...v2.5.1) (2019-03-21) **Note:** Version bump only for package @nuxt/builder diff --git a/packages/builder/package.json b/packages/builder/package.json index 7af260ea44..4af69e8923 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/builder", - "version": "2.5.1", + "version": "2.6.0", "repository": "nuxt/nuxt.js", "license": "MIT", "files": [ @@ -9,17 +9,17 @@ "main": "dist/builder.js", "dependencies": { "@nuxt/devalue": "^1.2.2", - "@nuxt/utils": "2.5.1", - "@nuxt/vue-app": "2.5.1", - "chokidar": "^2.1.2", - "consola": "^2.5.7", + "@nuxt/utils": "2.6.0", + "@nuxt/vue-app": "2.6.0", + "chokidar": "^2.1.5", + "consola": "^2.5.8", "fs-extra": "^7.0.1", "glob": "^7.1.3", "hash-sum": "^1.0.2", "ignore": "^5.0.6", "lodash": "^4.17.11", "pify": "^4.0.1", - "semver": "^5.6.0", + "semver": "^6.0.0", "serialize-javascript": "^1.6.1", "upath": "^1.1.2" }, diff --git a/packages/builder/src/builder.js b/packages/builder/src/builder.js index e4ebf4d3a2..ec6956abde 100644 --- a/packages/builder/src/builder.js +++ b/packages/builder/src/builder.js @@ -222,7 +222,7 @@ export default class Builder { 'Using npm:\n', `npm i ${dependencyFixes.join(' ')}\n` ) - throw new Error('Missing Template Dependencies') + throw new Error('Missing App Dependencies') } } diff --git a/packages/builder/test/builder.build.test.js b/packages/builder/test/builder.build.test.js index 8c16aea08b..9274ee73fe 100644 --- a/packages/builder/test/builder.build.test.js +++ b/packages/builder/test/builder.build.test.js @@ -263,7 +263,7 @@ describe('builder: builder build', () => { .mockReturnValueOnce({ version: 'alpha' }) .mockReturnValueOnce(undefined) - expect(() => builder.validateTemplate()).toThrow('Missing Template Dependencies') + expect(() => builder.validateTemplate()).toThrow('Missing App Dependencies') expect(nuxt.resolver.requireModule).toBeCalledTimes(2) expect(nuxt.resolver.requireModule).nthCalledWith(1, 'join(vue, package.json)') diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index cbcc0fc661..a32b820b61 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -3,6 +3,19 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/nuxt/nuxt.js/compare/v2.5.1...v2.6.0) (2019-04-04) + + +### Features + +* **cli:** add `--quiet` option to nuxt generate command ([#5357](https://github.com/nuxt/nuxt.js/issues/5357)) ([91f4eb0](https://github.com/nuxt/nuxt.js/commit/91f4eb0)) +* **cli:** add internal _generate and _build options ([#5434](https://github.com/nuxt/nuxt.js/issues/5434)) ([516aea3](https://github.com/nuxt/nuxt.js/commit/516aea3)) +* **typescript:** detect typescript based on `tsconfig.json` ([#5412](https://github.com/nuxt/nuxt.js/issues/5412)) ([6ffc5c5](https://github.com/nuxt/nuxt.js/commit/6ffc5c5)) + + + + + ## [2.5.1](https://github.com/nuxt/nuxt.js/compare/v2.5.0...v2.5.1) (2019-03-21) **Note:** Version bump only for package @nuxt/cli diff --git a/packages/cli/package.json b/packages/cli/package.json index 2d857454fc..2a80fd7850 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/cli", - "version": "2.5.1", + "version": "2.6.0", "repository": "nuxt/nuxt.js", "license": "MIT", "files": [ @@ -12,19 +12,20 @@ "nuxt-cli": "bin/nuxt-cli.js" }, "dependencies": { - "@nuxt/config": "2.5.1", - "@nuxt/utils": "2.5.1", + "@nuxt/config": "2.6.0", + "@nuxt/utils": "2.6.0", "boxen": "^3.0.0", "chalk": "^2.4.2", - "consola": "^2.5.7", - "esm": "^3.2.20", + "consola": "^2.5.8", + "esm": "^3.2.22", "execa": "^1.0.0", "exit": "^0.1.2", + "fs-extra": "^7.0.1", "minimist": "^1.2.0", "opener": "1.5.1", "pretty-bytes": "^5.1.0", "std-env": "^2.2.1", - "wrap-ansi": "^5.0.0" + "wrap-ansi": "^5.1.0" }, "publishConfig": { "access": "public" diff --git a/packages/cli/src/command.js b/packages/cli/src/command.js index 296cbbca09..576d579e0e 100644 --- a/packages/cli/src/command.js +++ b/packages/cli/src/command.js @@ -6,7 +6,7 @@ import { name, version } from '../package.json' import { loadNuxtConfig, forceExit } from './utils' import { indent, foldLines, colorize } from './utils/formatting' import { startSpaces, optionSpaces, forceExitTimeout } from './utils/constants' -import { detectAndSetupTypeScriptSupport } from './utils/typescript' +import { detectTypeScript } from './utils/typescript' import * as imports from './imports' export default class NuxtCommand { @@ -92,7 +92,11 @@ export default class NuxtCommand { async getNuxtConfig(extraOptions = {}) { const rootDir = path.resolve(this.argv._[0] || '.') - extraOptions._typescript = await detectAndSetupTypeScriptSupport(rootDir, { transpileOnly: this.cmd.name === 'start' }) + + // Typescript support + extraOptions._typescript = await detectTypeScript(rootDir, { + transpileOnly: this.cmd.name === 'start' + }) const config = await loadNuxtConfig(this.argv) const options = Object.assign(config, extraOptions) diff --git a/packages/cli/src/commands/build.js b/packages/cli/src/commands/build.js index 1787da6397..6f745cb95b 100644 --- a/packages/cli/src/commands/build.js +++ b/packages/cli/src/commands/build.js @@ -61,7 +61,7 @@ export default { } }, async run(cmd) { - const config = await cmd.getNuxtConfig({ dev: false }) + const config = await cmd.getNuxtConfig({ dev: false, _build: true }) const nuxt = await cmd.getNuxt(config) if (cmd.argv.lock) { diff --git a/packages/cli/src/commands/dev.js b/packages/cli/src/commands/dev.js index 55622fbc33..fbbe853e6d 100644 --- a/packages/cli/src/commands/dev.js +++ b/packages/cli/src/commands/dev.js @@ -35,7 +35,7 @@ export default { }, async _startDev(cmd, argv) { - const config = await cmd.getNuxtConfig({ dev: true }) + const config = await cmd.getNuxtConfig({ dev: true, _build: true }) const nuxt = await cmd.getNuxt(config) // Setup hooks diff --git a/packages/cli/src/commands/generate.js b/packages/cli/src/commands/generate.js index e20a183d05..93627e2cc8 100644 --- a/packages/cli/src/commands/generate.js +++ b/packages/cli/src/commands/generate.js @@ -25,6 +25,18 @@ export default { } } }, + quiet: { + alias: 'q', + type: 'boolean', + description: 'Disable output except for errors', + prepare(cmd, options, argv) { + // Silence output when using --quiet + options.build = options.build || {} + if (argv.quiet) { + options.build.quiet = true + } + } + }, modern: { ...common.modern, description: 'Generate app in modern build (modern mode can be only client)', @@ -41,7 +53,7 @@ export default { } }, async run(cmd) { - const config = await cmd.getNuxtConfig({ dev: false }) + const config = await cmd.getNuxtConfig({ dev: false, _generate: true, _build: cmd.argv.build }) // Disable analyze if set by the nuxt config if (!config.build) { diff --git a/packages/cli/src/imports.js b/packages/cli/src/imports.js index cae3174aa6..b68f1bc38c 100644 --- a/packages/cli/src/imports.js +++ b/packages/cli/src/imports.js @@ -29,4 +29,8 @@ export const builder = () => _import('@nuxt/builder') export const webpack = () => _import('@nuxt/webpack') export const generator = () => _import('@nuxt/generator') export const core = () => _import('@nuxt/core') + +export const tsNode = () => _import('ts-node') +export const nuxtTypescript = () => _import('@nuxt/typescript') + export const importModule = _import diff --git a/packages/cli/src/utils/index.js b/packages/cli/src/utils/index.js index de6ce42ad5..afad65561d 100644 --- a/packages/cli/src/utils/index.js +++ b/packages/cli/src/utils/index.js @@ -101,6 +101,10 @@ export function showBanner(nuxt) { // Running mode titleLines.push(`Running in ${nuxt.options.dev ? chalk.bold.blue('development') : chalk.bold.green('production')} mode (${chalk.bold(nuxt.options.mode)})`) + if (nuxt.options._typescript && nuxt.options._typescript.runtime) { + titleLines.push(`TypeScript support is ${chalk.green.bold('enabled')}`) + } + // https://nodejs.org/api/process.html#process_process_memoryusage const { heapUsed, rss } = process.memoryUsage() titleLines.push(`Memory usage: ${chalk.bold(prettyBytes(heapUsed))} (RSS: ${prettyBytes(rss)})`) diff --git a/packages/cli/src/utils/typescript.js b/packages/cli/src/utils/typescript.js index efb0d7b60f..3e4429179b 100644 --- a/packages/cli/src/utils/typescript.js +++ b/packages/cli/src/utils/typescript.js @@ -1,38 +1,59 @@ import path from 'path' -import { existsSync } from 'fs' -import chalk from 'chalk' -import consola from 'consola' -import { warningBox } from './formatting' +import fs from 'fs-extra' +import * as imports from '../imports' -const dependencyNotFoundMessage = -`Please install @nuxt/typescript and rerun the command +async function registerTSNode({ tsConfigPath, options }) { + const { register } = await imports.tsNode() -${chalk.bold('Using yarn')} -yarn add -D @nuxt/typescript - -${chalk.bold('Using npm')} -npm install -D @nuxt/typescript` - -export async function detectAndSetupTypeScriptSupport(rootDir, options = {}) { - const tsConfigPath = path.resolve(rootDir, 'tsconfig.json') - - if (!existsSync(tsConfigPath)) { - return false - } - - consola.info(`${chalk.bold.blue('tsconfig.json')} found, enabling TypeScript runtime support`) + // https://github.com/TypeStrong/ts-node + register({ + project: tsConfigPath, + compilerOptions: { + module: 'commonjs' + }, + ...options + }) +} +async function getNuxtTypeScript() { try { - const { setup } = require('@nuxt/typescript') - await setup(tsConfigPath, options) - } catch (e) { - if (e.code === 'MODULE_NOT_FOUND') { - process.stdout.write(warningBox(dependencyNotFoundMessage, chalk.yellow('An external official dependency is needed to enable TS support'))) - process.exit(1) - } else { - throw (e) + return await imports.nuxtTypescript() + } catch (error) { + if (error.code !== 'MODULE_NOT_FOUND') { + throw (error) } } - - return true +} + +export async function detectTypeScript(rootDir, options = {}) { + const typescript = { + tsConfigPath: path.resolve(rootDir, 'tsconfig.json'), + tsConfigExists: false, + runtime: false, + build: false, + options + } + + // Check if tsconfig.json exists + typescript.tsConfigExists = await fs.exists(typescript.tsConfigPath) + + // Skip if tsconfig.json not exists + if (!typescript.tsConfigExists) { + return typescript + } + + // Register runtime support + typescript.runtime = true + await registerTSNode(typescript) + + // Try to load @nuxt/typescript + const nuxtTypeScript = await getNuxtTypeScript() + + // If exists do additional setup + if (nuxtTypeScript) { + typescript.build = true + await nuxtTypeScript.setupDefaults(typescript.tsConfigPath) + } + + return typescript } diff --git a/packages/cli/test/unit/typescript.test.js b/packages/cli/test/unit/typescript.test.js new file mode 100644 index 0000000000..6ca0caf07d --- /dev/null +++ b/packages/cli/test/unit/typescript.test.js @@ -0,0 +1,41 @@ +import { resolve } from 'path' +import { mkdirp, writeFile, remove } from 'fs-extra' +import { register } from 'ts-node' +import { detectTypeScript } from '../../src/utils/typescript' + +jest.mock('ts-node') + +describe('Typescript Support', () => { + const rootDir = 'tmp' + const rootDir2 = 'tmp2' + const tsConfigPath = resolve(rootDir, 'tsconfig.json') + + beforeAll(async () => { + await mkdirp(rootDir) + await mkdirp(rootDir2) + await writeFile(tsConfigPath, '{}', 'utf-8') + }) + + test('detectTypeScript detects and registers runtime', async () => { + register.mockReset() + await detectTypeScript(rootDir) + expect(register).toHaveBeenCalledTimes(1) + expect(register).toHaveBeenCalledWith({ + project: tsConfigPath, + compilerOptions: { + module: 'commonjs' + } + }) + }) + + test('detectTypeScript skips rootDir without tsconfig.json', async () => { + register.mockReset() + await detectTypeScript(rootDir2) + expect(register).toHaveBeenCalledTimes(0) + }) + + afterAll(async () => { + await remove(rootDir) + await remove(rootDir2) + }) +}) diff --git a/packages/config/CHANGELOG.md b/packages/config/CHANGELOG.md index a9df9b4dbc..5d27820e37 100644 --- a/packages/config/CHANGELOG.md +++ b/packages/config/CHANGELOG.md @@ -3,6 +3,23 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/nuxt/nuxt.js/compare/v2.5.1...v2.6.0) (2019-04-04) + + +### Bug Fixes + +* **build:** disable loading `babel.config.js` by default ([#5365](https://github.com/nuxt/nuxt.js/issues/5365)) ([64fa424](https://github.com/nuxt/nuxt.js/commit/64fa424)) +* add type definition for configuring forkTsChecker ([2c1444d](https://github.com/nuxt/nuxt.js/commit/2c1444d)) + + +### Features + +* **vue-renderer:** add csp meta tags ([#5354](https://github.com/nuxt/nuxt.js/issues/5354)) ([b978a37](https://github.com/nuxt/nuxt.js/commit/b978a37)) + + + + + ## [2.5.1](https://github.com/nuxt/nuxt.js/compare/v2.5.0...v2.5.1) (2019-03-21) diff --git a/packages/config/package.json b/packages/config/package.json index f16873fc91..fb713fe39a 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/config", - "version": "2.5.1", + "version": "2.6.0", "repository": "nuxt/nuxt.js", "license": "MIT", "files": [ @@ -10,8 +10,8 @@ "main": "dist/config.js", "typings": "types/index.d.ts", "dependencies": { - "@nuxt/utils": "2.5.1", - "consola": "^2.5.7", + "@nuxt/utils": "2.6.0", + "consola": "^2.5.8", "std-env": "^2.2.1" }, "publishConfig": { diff --git a/packages/config/src/config/build.js b/packages/config/src/config/build.js index 3bde85fbc6..8e5d348c66 100644 --- a/packages/config/src/config/build.js +++ b/packages/config/src/config/build.js @@ -79,6 +79,7 @@ export default () => ({ commons: true }, babel: { + configFile: false, babelrc: false, cacheDirectory: undefined }, diff --git a/packages/config/src/options.js b/packages/config/src/options.js index e5da7d33d6..fb8d5dd85d 100644 --- a/packages/config/src/options.js +++ b/packages/config/src/options.js @@ -3,7 +3,6 @@ import fs from 'fs' import defaultsDeep from 'lodash/defaultsDeep' import defaults from 'lodash/defaults' import pick from 'lodash/pick' -import isObject from 'lodash/isObject' import uniq from 'lodash/uniq' import consola from 'consola' import { guardDir, isNonEmptyString, isPureObject, isUrl, getMainModule } from '@nuxt/utils' @@ -179,16 +178,14 @@ export function getNuxtConfig(_options) { } // Apply default hash to CSP option - const { csp } = options.render - - const cspDefaults = { - hashAlgorithm: 'sha256', - allowedSources: undefined, - policies: undefined, - reportOnly: options.debug - } - if (csp) { - options.render.csp = defaults(isObject(csp) ? csp : {}, cspDefaults) + if (options.render.csp) { + options.render.csp = defaults({}, options.render.csp, { + hashAlgorithm: 'sha256', + allowedSources: undefined, + policies: undefined, + addMeta: Boolean(options._generate), + reportOnly: options.debug + }) } // cssSourceMap diff --git a/packages/config/test/__snapshots__/options.test.js.snap b/packages/config/test/__snapshots__/options.test.js.snap index 41cf6a3d4b..8321dea1b1 100644 --- a/packages/config/test/__snapshots__/options.test.js.snap +++ b/packages/config/test/__snapshots__/options.test.js.snap @@ -12,6 +12,7 @@ Object { "babel": Object { "babelrc": false, "cacheDirectory": false, + "configFile": false, }, "cache": false, "crossorigin": undefined, diff --git a/packages/config/test/config/__snapshots__/index.test.js.snap b/packages/config/test/config/__snapshots__/index.test.js.snap index 26e25a4840..7727a82fb6 100644 --- a/packages/config/test/config/__snapshots__/index.test.js.snap +++ b/packages/config/test/config/__snapshots__/index.test.js.snap @@ -9,6 +9,7 @@ Object { "babel": Object { "babelrc": false, "cacheDirectory": undefined, + "configFile": false, }, "cache": false, "crossorigin": undefined, @@ -340,6 +341,7 @@ Object { "babel": Object { "babelrc": false, "cacheDirectory": undefined, + "configFile": false, }, "cache": false, "crossorigin": undefined, diff --git a/packages/config/test/options.test.js b/packages/config/test/options.test.js index 412f7cb4d3..e744db32ea 100644 --- a/packages/config/test/options.test.js +++ b/packages/config/test/options.test.js @@ -81,6 +81,7 @@ describe('config: options', () => { const { render: { csp } } = getNuxtConfig({ render: { csp: { allowedSources: true, test: true } } }) expect(csp).toEqual({ hashAlgorithm: 'sha256', + addMeta: false, allowedSources: true, policies: undefined, reportOnly: false, @@ -189,9 +190,10 @@ describe('config: options', () => { }) expect(consola.warn).toHaveBeenCalledWith('@nuxtjs/babel-preset-app has been deprecated, please use @nuxt/babel-preset-app.') expect(babel).toEqual({ - 'babelrc': false, - 'cacheDirectory': false, - 'presets': ['@nuxt/babel-preset-app'] + configFile: false, + babelrc: false, + cacheDirectory: false, + presets: ['@nuxt/babel-preset-app'] }) }) @@ -200,9 +202,10 @@ describe('config: options', () => { build: { babel: { presets: [['@nuxt/babel-preset-app', { test: true }]] } } }) expect(babel).toEqual({ - 'babelrc': false, - 'cacheDirectory': false, - 'presets': [['@nuxt/babel-preset-app', { test: true }]] + configFile: false, + babelrc: false, + cacheDirectory: false, + presets: [['@nuxt/babel-preset-app', { test: true }]] }) }) }) diff --git a/packages/config/types/build.d.ts b/packages/config/types/build.d.ts index 3325cf1bea..43df12e941 100644 --- a/packages/config/types/build.d.ts +++ b/packages/config/types/build.d.ts @@ -58,6 +58,8 @@ export interface NuxtConfigurationBuild { templates?: any terser?: TerserPluginOptions | boolean transpile?: (string | RegExp)[] - useForkTsChecker?: { [key: string]: string } | boolean // TBD - Couldn't find typedefs for the forkTsCheckerWebpackPlugin options + typescript?: { + typeCheck?: { [key: string]: any } | boolean // TBD - Couldn't find typedefs for the forkTsCheckerWebpackPlugin options + } watch?: string[] } diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index a2e17f7aca..65c6a064bb 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/nuxt/nuxt.js/compare/v2.5.1...v2.6.0) (2019-04-04) + + +### Reverts + +* **core:** call ready to prevent breaking changes ([#5413](https://github.com/nuxt/nuxt.js/issues/5413)) ([001ba77](https://github.com/nuxt/nuxt.js/commit/001ba77)) + + + + + ## [2.5.1](https://github.com/nuxt/nuxt.js/compare/v2.5.0...v2.5.1) (2019-03-21) diff --git a/packages/core/package.json b/packages/core/package.json index ac73bbf067..00443e408f 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/core", - "version": "2.5.1", + "version": "2.6.0", "repository": "nuxt/nuxt.js", "license": "MIT", "files": [ @@ -8,14 +8,14 @@ ], "main": "dist/core.js", "dependencies": { - "@nuxt/config": "2.5.1", + "@nuxt/config": "2.6.0", "@nuxt/devalue": "^1.2.2", - "@nuxt/server": "2.5.1", - "@nuxt/utils": "2.5.1", - "@nuxt/vue-renderer": "2.5.1", - "consola": "^2.5.7", + "@nuxt/server": "2.6.0", + "@nuxt/utils": "2.6.0", + "@nuxt/vue-renderer": "2.6.0", + "consola": "^2.5.8", "debug": "^4.1.1", - "esm": "^3.2.20", + "esm": "^3.2.22", "fs-extra": "^7.0.1", "hash-sum": "^1.0.2", "std-env": "^2.2.1" diff --git a/packages/core/src/nuxt.js b/packages/core/src/nuxt.js index 395437196c..edac169a6d 100644 --- a/packages/core/src/nuxt.js +++ b/packages/core/src/nuxt.js @@ -38,6 +38,13 @@ export default class Nuxt extends Hookable { if (this.options.server !== false) { this._initServer() } + + // Call ready + if (this.options._ready !== false) { + this.ready().catch((err) => { + consola.fatal(err) + }) + } } static get version() { @@ -46,9 +53,7 @@ export default class Nuxt extends Hookable { ready() { if (!this._ready) { - this._ready = this._init().catch((err) => { - consola.fatal(err) - }) + this._ready = this._init() } return this._ready } diff --git a/packages/core/test/nuxt.test.js b/packages/core/test/nuxt.test.js index 23850ace59..6f664a1077 100644 --- a/packages/core/test/nuxt.test.js +++ b/packages/core/test/nuxt.test.js @@ -1,4 +1,3 @@ -import consola from 'consola' import { defineAlias } from '@nuxt/utils' import { getNuxtConfig } from '@nuxt/config' import { Server } from '@nuxt/server' @@ -14,7 +13,9 @@ jest.mock('@nuxt/utils') jest.mock('@nuxt/server') jest.mock('@nuxt/config', () => ({ - getNuxtConfig: jest.fn(() => ({})) + getNuxtConfig: jest.fn(() => ({ + _ready: false + })) })) describe('core: nuxt', () => { @@ -67,10 +68,7 @@ describe('core: nuxt', () => { const err = new Error('nuxt ready failed') const nuxt = new Nuxt() nuxt._init = () => Promise.reject(err) - await nuxt.ready() - - expect(consola.fatal).toBeCalledTimes(1) - expect(consola.fatal).toBeCalledWith(err) + await expect(nuxt.ready()).rejects.toThrow(err) }) test('should return nuxt version from package.json', () => { @@ -113,7 +111,7 @@ describe('core: nuxt', () => { test('should add object hooks', async () => { const hooks = {} - getNuxtConfig.mockReturnValueOnce({ hooks }) + getNuxtConfig.mockReturnValueOnce({ hooks, _ready: false }) const nuxt = new Nuxt() nuxt.addHooks = jest.fn() diff --git a/packages/generator/CHANGELOG.md b/packages/generator/CHANGELOG.md index 07cf195d4a..876e5ea0b2 100644 --- a/packages/generator/CHANGELOG.md +++ b/packages/generator/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/nuxt/nuxt.js/compare/v2.5.1...v2.6.0) (2019-04-04) + +**Note:** Version bump only for package @nuxt/generator + + + + + ## [2.5.1](https://github.com/nuxt/nuxt.js/compare/v2.5.0...v2.5.1) (2019-03-21) **Note:** Version bump only for package @nuxt/generator diff --git a/packages/generator/package.json b/packages/generator/package.json index e0aae8eda3..4082c48c6b 100644 --- a/packages/generator/package.json +++ b/packages/generator/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/generator", - "version": "2.5.1", + "version": "2.6.0", "repository": "nuxt/nuxt.js", "license": "MIT", "files": [ @@ -8,11 +8,11 @@ ], "main": "dist/generator.js", "dependencies": { - "@nuxt/utils": "2.5.1", + "@nuxt/utils": "2.6.0", "chalk": "^2.4.2", - "consola": "^2.5.7", + "consola": "^2.5.8", "fs-extra": "^7.0.1", - "html-minifier": "^3.5.21" + "html-minifier": "^4.0.0" }, "publishConfig": { "access": "public" diff --git a/packages/server/CHANGELOG.md b/packages/server/CHANGELOG.md index e0c5111e3c..114d486ff0 100644 --- a/packages/server/CHANGELOG.md +++ b/packages/server/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/nuxt/nuxt.js/compare/v2.5.1...v2.6.0) (2019-04-04) + +**Note:** Version bump only for package @nuxt/server + + + + + ## [2.5.1](https://github.com/nuxt/nuxt.js/compare/v2.5.0...v2.5.1) (2019-03-21) **Note:** Version bump only for package @nuxt/server diff --git a/packages/server/package.json b/packages/server/package.json index e0c6fd0173..fa587be697 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/server", - "version": "2.5.1", + "version": "2.6.0", "repository": "nuxt/nuxt.js", "license": "MIT", "files": [ @@ -8,13 +8,13 @@ ], "main": "dist/server.js", "dependencies": { - "@nuxt/config": "2.5.1", - "@nuxt/utils": "2.5.1", + "@nuxt/config": "2.6.0", + "@nuxt/utils": "2.6.0", "@nuxtjs/youch": "^4.2.3", "chalk": "^2.4.2", "compression": "^1.7.4", "connect": "^3.6.6", - "consola": "^2.5.7", + "consola": "^2.5.8", "etag": "^1.8.1", "fresh": "^0.5.2", "fs-extra": "^7.0.1", @@ -22,7 +22,7 @@ "launch-editor-middleware": "^2.2.1", "on-headers": "^1.0.2", "pify": "^4.0.1", - "semver": "^5.6.0", + "semver": "^6.0.0", "serve-placeholder": "^1.2.1", "serve-static": "^1.13.2", "server-destroy": "^1.0.1", diff --git a/packages/typescript/CHANGELOG.md b/packages/typescript/CHANGELOG.md index ad6381c477..0ced85e27a 100644 --- a/packages/typescript/CHANGELOG.md +++ b/packages/typescript/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/nuxt/nuxt.js/compare/v2.5.1...v2.6.0) (2019-04-04) + + +### Features + +* **typescript:** detect typescript based on `tsconfig.json` ([#5412](https://github.com/nuxt/nuxt.js/issues/5412)) ([6ffc5c5](https://github.com/nuxt/nuxt.js/commit/6ffc5c5)) + + + + + ## [2.5.1](https://github.com/nuxt/nuxt.js/compare/v2.5.0...v2.5.1) (2019-03-21) **Note:** Version bump only for package @nuxt/typescript diff --git a/packages/typescript/package.json b/packages/typescript/package.json index 3cce97b78c..7b6bb8ab48 100644 --- a/packages/typescript/package.json +++ b/packages/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/typescript", - "version": "2.5.1", + "version": "2.6.0", "repository": "nuxt/nuxt.js", "license": "MIT", "files": [ @@ -13,20 +13,19 @@ "@types/etag": "^1.8.0", "@types/express": "^4.16.1", "@types/html-minifier": "^3.5.3", - "@types/node": "^11.11.4", + "@types/node": "^11.13.0", "@types/optimize-css-assets-webpack-plugin": "^1.3.4", "@types/serve-static": "^1.13.2", "@types/terser-webpack-plugin": "^1.2.1", - "@types/webpack": "^4.4.26", + "@types/webpack": "^4.4.27", "@types/webpack-bundle-analyzer": "^2.13.1", "@types/webpack-dev-middleware": "^2.0.2", "@types/webpack-hot-middleware": "^2.16.5", - "fork-ts-checker-webpack-plugin": "^1.0.0", + "consola": "^2.5.8", + "fork-ts-checker-webpack-plugin": "^1.0.1", "fs-extra": "^7.0.1", - "lodash": "^4.17.11", "ts-loader": "^5.3.3", - "ts-node": "^8.0.3", - "typescript": "^3.3.4000" + "typescript": "^3.4.1" }, "publishConfig": { "access": "public" diff --git a/packages/typescript/src/index.js b/packages/typescript/src/index.js index dbd13c56b9..de06ec73b7 100644 --- a/packages/typescript/src/index.js +++ b/packages/typescript/src/index.js @@ -1,6 +1,5 @@ -import { readJSON, writeJSON } from 'fs-extra' -import { register } from 'ts-node' -import defaultsDeep from 'lodash/defaultsDeep' +import { exists, readFile, writeJSON } from 'fs-extra' +import consola from 'consola' export const defaultTsJsonConfig = { compilerOptions: { @@ -35,23 +34,15 @@ export const defaultTsJsonConfig = { } } -let _setup = false +export async function setupDefaults(tsConfigPath) { + let contents = '' -export async function setup(tsConfigPath, options = {}) { - if (_setup) { - return + if (await exists(tsConfigPath)) { + contents = await readFile(tsConfigPath, 'utf-8') } - _setup = true - const config = await readJSON(tsConfigPath) - await writeJSON(tsConfigPath, defaultsDeep(config, defaultTsJsonConfig), { spaces: 2 }) - - // https://github.com/TypeStrong/ts-node - register({ - project: tsConfigPath, - compilerOptions: { - module: 'commonjs' - }, - ...options - }) + if (!contents || contents === '{}') { + consola.info(`Generating ${tsConfigPath.replace(process.cwd(), '')}`) + await writeJSON(tsConfigPath, defaultTsJsonConfig, { spaces: 2 }) + } } diff --git a/packages/typescript/test/setup.test.js b/packages/typescript/test/setup.test.js index 837442a07a..34d876c904 100644 --- a/packages/typescript/test/setup.test.js +++ b/packages/typescript/test/setup.test.js @@ -1,40 +1,31 @@ import { resolve } from 'path' -import { mkdirp, readJSON, remove, writeJSON } from 'fs-extra' -import { register } from 'ts-node' -import { defaultTsJsonConfig, setup as setupTypeScript } from '@nuxt/typescript' - -jest.mock('ts-node') +import { mkdirp, readJSON, writeFile, remove, readFile } from 'fs-extra' +import { defaultTsJsonConfig, setupDefaults } from '@nuxt/typescript' describe('typescript setup', () => { const rootDir = 'tmp' const tsConfigPath = resolve(rootDir, 'tsconfig.json') beforeAll(async () => { - // We're assuming that rootDir provided to setupTypeScript is existing so we create the tested one await mkdirp(rootDir) - await writeJSON(tsConfigPath, {}) - await setupTypeScript(tsConfigPath) + await writeFile(tsConfigPath, '{}', 'utf-8') }) - test('tsconfig.json has been updated with defaults', async () => { + test('Create tsconfig.json with defaults', async () => { + await setupDefaults(tsConfigPath) expect(await readJSON(tsConfigPath)).toEqual(defaultTsJsonConfig) }) - test('ts-node has been registered once', async () => { - // Call setupTypeScript a second time to test guard - await setupTypeScript(tsConfigPath) + test('Do not override tsconfig.json', async () => { + const fooJSON = '{ "foo": 123 }' + await writeFile(tsConfigPath, fooJSON, 'utf-8') - expect(register).toHaveBeenCalledTimes(1) - expect(register).toHaveBeenCalledWith({ - project: tsConfigPath, - compilerOptions: { - module: 'commonjs' - } - }) + await setupDefaults(tsConfigPath) + + expect(await readFile(tsConfigPath, 'utf-8')).toEqual(fooJSON) }) afterAll(async () => { - // Clean workspace by removing the temporary folder (and the generated tsconfig.json at the same time) await remove(rootDir) }) }) diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index 4ee7e42806..932e18c299 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/nuxt/nuxt.js/compare/v2.5.1...v2.6.0) (2019-04-04) + + +### Bug Fixes + +* **cli:** catch all possible errors thrown from proper-filelock ([#5347](https://github.com/nuxt/nuxt.js/issues/5347)) ([39bbe46](https://github.com/nuxt/nuxt.js/commit/39bbe46)) + + + + + ## [2.5.1](https://github.com/nuxt/nuxt.js/compare/v2.5.0...v2.5.1) (2019-03-21) diff --git a/packages/utils/package.json b/packages/utils/package.json index 8293204a32..55c6a63abe 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/utils", - "version": "2.5.1", + "version": "2.6.0", "repository": "nuxt/nuxt.js", "license": "MIT", "files": [ @@ -8,10 +8,10 @@ ], "main": "dist/utils.js", "dependencies": { - "consola": "^2.5.7", + "consola": "^2.5.8", "fs-extra": "^7.0.1", "hash-sum": "^1.0.2", - "proper-lockfile": "^4.1.0", + "proper-lockfile": "^4.1.1", "serialize-javascript": "^1.6.1", "signal-exit": "^3.0.2" }, diff --git a/packages/utils/src/locking.js b/packages/utils/src/locking.js index d0ee5f0f07..c9b7fc15ba 100644 --- a/packages/utils/src/locking.js +++ b/packages/utils/src/locking.js @@ -35,16 +35,33 @@ export async function getLockPath(config) { export async function lock({ id, dir, root, options }) { const lockPath = await getLockPath({ id, dir, root }) - const locked = await properlock.check(lockPath) - if (locked) { - consola.fatal(`A lock with id '${id}' already exists on ${dir}`) + try { + const locked = await properlock.check(lockPath) + if (locked) { + consola.fatal(`A lock with id '${id}' already exists on ${dir}`) + } + } catch (e) { + consola.debug(`Check for an existing lock with id '${id}' on ${dir} failed`, e) } - options = getLockOptions(options) - const release = await properlock.lock(lockPath, options) + let lockWasCompromised = false + let release + + try { + options = getLockOptions(options) + + const onCompromised = options.onCompromised + options.onCompromised = (err) => { + onCompromised(err) + lockWasCompromised = true + } + + release = await properlock.lock(lockPath, options) + } catch (e) {} if (!release) { consola.warn(`Unable to get a lock with id '${id}' on ${dir} (but will continue)`) + return false } if (!lockPaths.size) { @@ -59,8 +76,27 @@ export async function lock({ id, dir, root, options }) { lockPaths.add(lockPath) return async function lockRelease() { - await release() - await fs.remove(lockPath) - lockPaths.delete(lockPath) + try { + await fs.remove(lockPath) + lockPaths.delete(lockPath) + + // release as last so the lockPath is still removed + // when it fails on a compromised lock + await release() + } catch (e) { + if (!lockWasCompromised || !e.message.includes('already released')) { + consola.debug(e) + return + } + + // proper-lockfile doesnt remove lockDir when lock is compromised + // removing it here could cause the 'other' process to throw an error + // as well, but in our case its much more likely the lock was + // compromised due to mtime update timeouts + const lockDir = `${lockPath}.lock` + if (await fs.exists(lockDir)) { + await fs.remove(lockDir) + } + } } } diff --git a/packages/utils/test/locking.test.js b/packages/utils/test/locking.test.js index 225c64157c..52acfd6ddb 100644 --- a/packages/utils/test/locking.test.js +++ b/packages/utils/test/locking.test.js @@ -61,7 +61,7 @@ describe('util: locking', () => { }) test('lock creates a lock and returns a release fn', async () => { - properlock.lock.mockImplementationOnce(() => true) + properlock.lock.mockReturnValue(true) const fn = await lock(lockConfig) @@ -75,7 +75,7 @@ describe('util: locking', () => { }) test('lock throws error when lock already exists', async () => { - properlock.check.mockImplementationOnce(() => true) + properlock.check.mockReturnValue(true) await lock(lockConfig) expect(properlock.check).toHaveBeenCalledTimes(1) @@ -84,7 +84,19 @@ describe('util: locking', () => { }) test('lock logs warning when it couldnt get a lock', async () => { - properlock.lock.mockImplementationOnce(() => false) + properlock.lock.mockReturnValue(false) + + const fn = await lock(lockConfig) + expect(fn).toBe(false) + expect(properlock.lock).toHaveBeenCalledTimes(1) + expect(consola.warn).toHaveBeenCalledTimes(1) + expect(consola.warn).toHaveBeenCalledWith(`Unable to get a lock with id '${lockConfig.id}' on ${lockConfig.dir} (but will continue)`) + }) + + test('lock logs warning when proper.lock threw error', async () => { + properlock.lock.mockImplementation(() => { + throw new Error('test error') + }) await lock(lockConfig) expect(properlock.lock).toHaveBeenCalledTimes(1) @@ -94,7 +106,7 @@ describe('util: locking', () => { test('lock returns a release method for unlocking both lockfile as lockPath', async () => { const release = jest.fn() - properlock.lock.mockImplementationOnce(() => release) + properlock.lock.mockImplementation(() => release) const fn = await lock(lockConfig) await fn() @@ -105,7 +117,7 @@ describe('util: locking', () => { test('lock release also cleansup onExit set', async () => { const release = jest.fn() - properlock.lock.mockImplementationOnce(() => release) + properlock.lock.mockImplementation(() => release) const fn = await lock(lockConfig) expect(lockPaths.size).toBe(1) @@ -114,8 +126,58 @@ describe('util: locking', () => { expect(lockPaths.size).toBe(0) }) + test('lock release only logs error when error thrown', async () => { + const release = jest.fn(() => { + throw new Error('test error') + }) + properlock.lock.mockImplementation(() => release) + + const fn = await lock(lockConfig) + await expect(fn()).resolves.not.toThrow() + + expect(consola.debug).toHaveBeenCalledTimes(1) + }) + + test('lock check only logs error when error thrown', async () => { + const testError = new Error('check error') + properlock.lock.mockImplementation(() => () => {}) + properlock.check.mockImplementation(() => { + throw testError + }) + + const fn = await lock(lockConfig) + expect(fn).toEqual(expect.any(Function)) + + expect(consola.debug).toHaveBeenCalledTimes(1) + expect(consola.debug).toHaveBeenCalledWith(`Check for an existing lock with id '${lockConfig.id}' on ${lockConfig.dir} failed`, testError) + }) + + test('lock release doesnt log error when error thrown because lock compromised', async () => { + fs.exists.mockReturnValue(true) + const testError = new Error('Lock is already released') + const release = jest.fn(() => { + throw testError + }) + + properlock.lock.mockImplementation((path, options) => { + options.onCompromised() + return release + }) + + const fn = await lock({ + ...lockConfig, + options: { + // overwrite default compromised which calls consola.warn + onCompromised() {} + } + }) + + await expect(fn()).resolves.not.toThrow() + expect(consola.warn).not.toHaveBeenCalled() + }) + test('lock sets exit listener once to remove lockPaths', async () => { - properlock.lock.mockImplementationOnce(() => true) + properlock.lock.mockReturnValue(true) await lock(lockConfig) await lock(lockConfig) @@ -124,8 +186,10 @@ describe('util: locking', () => { }) test('exit listener removes all lockPaths when called', async () => { + properlock.lock.mockReturnValue(true) + let callback - onExit.mockImplementationOnce(cb => (callback = cb)) + onExit.mockImplementation(cb => (callback = cb)) const lockConfig2 = Object.assign({}, lockConfig, { id: 'id2' }) @@ -145,7 +209,7 @@ describe('util: locking', () => { }) test('lock uses setLockOptions to set defaults', async () => { - const spy = properlock.lock.mockImplementationOnce(() => true) + const spy = properlock.lock.mockReturnValue(true) await lock(lockConfig) diff --git a/packages/vue-app/CHANGELOG.md b/packages/vue-app/CHANGELOG.md index 5babccb4b9..ea1ee7f128 100644 --- a/packages/vue-app/CHANGELOG.md +++ b/packages/vue-app/CHANGELOG.md @@ -3,6 +3,24 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/nuxt/nuxt.js/compare/v2.5.1...v2.6.0) (2019-04-04) + + +### Bug Fixes + +* **vue-app:** decode uri in `getlocation` ([#5337](https://github.com/nuxt/nuxt.js/issues/5337)) ([77dcfe6](https://github.com/nuxt/nuxt.js/commit/77dcfe6)) +* **vue-app:** prevent mounting page twice on redirect ([#5361](https://github.com/nuxt/nuxt.js/issues/5361)) ([2d73e8a](https://github.com/nuxt/nuxt.js/commit/2d73e8a)) +* fail in case of missing core-js dependency ([#5342](https://github.com/nuxt/nuxt.js/issues/5342)) ([439b914](https://github.com/nuxt/nuxt.js/commit/439b914)) + + +### Features + +* **babel-preset-app:** support specifying core-js version ([#5411](https://github.com/nuxt/nuxt.js/issues/5411)) ([159123f](https://github.com/nuxt/nuxt.js/commit/159123f)) + + + + + ## [2.5.1](https://github.com/nuxt/nuxt.js/compare/v2.5.0...v2.5.1) (2019-03-21) **Note:** Version bump only for package @nuxt/vue-app diff --git a/packages/vue-app/package.json b/packages/vue-app/package.json index 4bb821abbf..6c017c2934 100644 --- a/packages/vue-app/package.json +++ b/packages/vue-app/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/vue-app", - "version": "2.5.1", + "version": "2.6.0", "repository": "nuxt/nuxt.js", "license": "MIT", "files": [ @@ -15,7 +15,7 @@ "node-fetch": "^2.3.0", "unfetch": "^4.1.0", "vue": "^2.6.10", - "vue-meta": "^1.5.8", + "vue-meta": "^1.6.0", "vue-no-ssr": "^1.1.1", "vue-router": "^3.0.2", "vue-template-compiler": "^2.6.10", diff --git a/packages/vue-app/template/client.js b/packages/vue-app/template/client.js index f2c722ec09..2471a3261b 100644 --- a/packages/vue-app/template/client.js +++ b/packages/vue-app/template/client.js @@ -649,6 +649,10 @@ async function mountApp(__app) { const mount = () => { _app.$mount('#<%= globals.id %>') + // Add afterEach router hooks + router.afterEach(normalizeComponents) + router.afterEach(fixPrepatch.bind(_app)) + // Listen for first Vue update Vue.nextTick(() => { // Call window.{{globals.readyCallback}} callbacks @@ -671,11 +675,9 @@ async function mountApp(__app) { _app.$loading = {} // To avoid error while _app.$nuxt does not exist if (NUXT.error) _app.error(NUXT.error) - // Add router hooks + // Add beforeEach router hooks router.beforeEach(loadAsyncComponents.bind(_app)) router.beforeEach(render.bind(_app)) - router.afterEach(normalizeComponents) - router.afterEach(fixPrepatch.bind(_app)) // If page already is server rendered if (NUXT.serverRendered) { @@ -684,20 +686,30 @@ async function mountApp(__app) { } // First render on client-side + const clientFirstMount = () => { + normalizeComponents(router.currentRoute, router.currentRoute) + showNextPage.call(_app, router.currentRoute) + // Don't call fixPrepatch.call(_app, router.currentRoute, router.currentRoute) since it's first render + mount() + } + render.call(_app, router.currentRoute, router.currentRoute, (path) => { // If not redirected if (!path) { - normalizeComponents(router.currentRoute, router.currentRoute) - showNextPage.call(_app, router.currentRoute) - // Don't call fixPrepatch.call(_app, router.currentRoute, router.currentRoute) since it's first render - mount() + clientFirstMount() return } - // Push the path and then mount app - router.push(path, () => mount(), (err) => { - if (!err) return mount() - errorHandler(err) + // Add a one-time afterEach hook to + // mount the app wait for redirect and route gets resolved + const unregisterHook = router.afterEach((to, from) => { + unregisterHook() + clientFirstMount() + }) + + // Push the path and let route to be resolved + router.push(path, undefined, (err) => { + if (err) errorHandler(err) }) }) } diff --git a/packages/vue-app/template/utils.js b/packages/vue-app/template/utils.js index f9f1d91958..4647f830d7 100644 --- a/packages/vue-app/template/utils.js +++ b/packages/vue-app/template/utils.js @@ -259,14 +259,14 @@ export function promisify(fn, context) { // Imported from vue-router export function getLocation(base, mode) { - let path = window.location.pathname + let path = decodeURI(window.location.pathname) if (mode === 'hash') { return window.location.hash.replace(/^#\//, '') } if (base && path.indexOf(base) === 0) { path = path.slice(base.length) } - return decodeURI(path || '/') + window.location.search + window.location.hash + return (path || '/') + window.location.search + window.location.hash } export function urlJoin() { diff --git a/packages/vue-renderer/CHANGELOG.md b/packages/vue-renderer/CHANGELOG.md index 4bd3c71c42..490ce2c9c4 100644 --- a/packages/vue-renderer/CHANGELOG.md +++ b/packages/vue-renderer/CHANGELOG.md @@ -3,6 +3,24 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/nuxt/nuxt.js/compare/v2.5.1...v2.6.0) (2019-04-04) + + +### Bug Fixes + +* **builder:** await for renderer to load resources ([#5341](https://github.com/nuxt/nuxt.js/issues/5341)) ([caf5198](https://github.com/nuxt/nuxt.js/commit/caf5198)) +* **renderer:** retry render if renderer is in loading or created state ([#5417](https://github.com/nuxt/nuxt.js/issues/5417)) ([8b99695](https://github.com/nuxt/nuxt.js/commit/8b99695)) +* **vue-renderer:** add the csp hash if `unsafe-inline` hasn't been specified ([#5387](https://github.com/nuxt/nuxt.js/issues/5387)) ([97db6a4](https://github.com/nuxt/nuxt.js/commit/97db6a4)) + + +### Features + +* **vue-renderer:** add csp meta tags ([#5354](https://github.com/nuxt/nuxt.js/issues/5354)) ([b978a37](https://github.com/nuxt/nuxt.js/commit/b978a37)) + + + + + ## [2.5.1](https://github.com/nuxt/nuxt.js/compare/v2.5.0...v2.5.1) (2019-03-21) **Note:** Version bump only for package @nuxt/vue-renderer diff --git a/packages/vue-renderer/package.json b/packages/vue-renderer/package.json index b388234983..59da0fcf50 100644 --- a/packages/vue-renderer/package.json +++ b/packages/vue-renderer/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/vue-renderer", - "version": "2.5.1", + "version": "2.6.0", "repository": "nuxt/nuxt.js", "license": "MIT", "files": [ @@ -9,12 +9,12 @@ "main": "dist/vue-renderer.js", "dependencies": { "@nuxt/devalue": "^1.2.2", - "@nuxt/utils": "2.5.1", - "consola": "^2.5.7", + "@nuxt/utils": "2.6.0", + "consola": "^2.5.8", "fs-extra": "^7.0.1", "lru-cache": "^5.1.1", "vue": "^2.6.10", - "vue-meta": "^1.5.8", + "vue-meta": "^1.6.0", "vue-server-renderer": "^2.6.10" }, "publishConfig": { diff --git a/packages/vue-renderer/src/renderer.js b/packages/vue-renderer/src/renderer.js index 8239855f62..898c5a7f2d 100644 --- a/packages/vue-renderer/src/renderer.js +++ b/packages/vue-renderer/src/renderer.js @@ -33,6 +33,10 @@ export default class VueRenderer { spaTemplate: undefined, errorTemplate: this.parseTemplate('Nuxt.js Internal Server Error') }) + + // Default status + this._state = 'created' + this._error = null } get assetsMapping() { @@ -120,12 +124,25 @@ export default class VueRenderer { return context.renderResourceHints() } - async ready() { - if (this._readyCalled) { - return this + ready() { + if (!this._readyPromise) { + this._state = 'loading' + this._readyPromise = this._ready() + .then(() => { + this._state = 'ready' + return this + }) + .catch((error) => { + this._state = 'error' + this._error = error + throw error + }) } - this._readyCalled = true + return this._readyPromise + } + + async _ready() { // Resolve dist path this.distPath = path.resolve(this.context.options.buildDir, 'dist', 'server') @@ -140,7 +157,7 @@ export default class VueRenderer { // Try once to load SSR resources from fs await this.loadResources(fs) - // Without using `nuxt start` (Programmatic, Tests and Generate) + // Without using `nuxt start` (programmatic, tests and generate) if (!this.context.options._start) { this.context.nuxt.hook('build:resources', () => this.loadResources(fs)) return @@ -156,8 +173,6 @@ export default class VueRenderer { `No build files found in ${this.distPath}.\nUse either \`nuxt build\` or \`builder.build()\` or start nuxt in development mode.` ) } - - return this } async loadResources(_fs) { @@ -186,7 +201,6 @@ export default class VueRenderer { // Skip unavailable resources if (!resource) { - consola.debug('Resource not available:', resourceName) continue } @@ -212,9 +226,6 @@ export default class VueRenderer { this.createRenderer() } - // Call resourcesLoaded hook - consola.debug('Resources loaded:', updated.join(',')) - return this.context.nuxt.callHook('render:resourcesLoaded', this.context.resources) } @@ -396,16 +407,25 @@ export default class VueRenderer { APP += `` // Calculate CSP hashes + const { csp } = this.context.options.render const cspScriptSrcHashes = [] - if (this.context.options.render.csp) { - const { hashAlgorithm } = this.context.options.render.csp - const hash = crypto.createHash(hashAlgorithm) - hash.update(serializedSession) - cspScriptSrcHashes.push(`'${hashAlgorithm}-${hash.digest('base64')}'`) - } + if (csp) { + // Only add the hash if 'unsafe-inline' rule isn't present to avoid conflicts (#5387) + const containsUnsafeInlineScriptSrc = csp.policies && csp.policies['script-src'] && csp.policies['script-src'].includes(`'unsafe-inline'`) + if (!containsUnsafeInlineScriptSrc) { + const hash = crypto.createHash(csp.hashAlgorithm) + hash.update(serializedSession) + cspScriptSrcHashes.push(`'${csp.hashAlgorithm}-${hash.digest('base64')}'`) + } - // Call ssr:csp hook - await this.context.nuxt.callHook('vue-renderer:ssr:csp', cspScriptSrcHashes) + // Call ssr:csp hook + await this.context.nuxt.callHook('vue-renderer:ssr:csp', cspScriptSrcHashes) + + // Add csp meta tags + if (csp.addMeta) { + HEAD += `` + } + } // Prepend scripts APP += this.renderScripts(context) @@ -437,23 +457,27 @@ export default class VueRenderer { } } - _throwNotReadyError() { - const error = new Error() - - error.statusCode = 500 - if (!this._readyCalled) { - error.message = 'Nuxt is not initialized! `nuxt.ready()` should be called.' - } else { - error.message = `SSR renderer is not initialized! Please check ${this.distPath} existence.` - } - throw error - } - - async renderRoute(url, context = {}) { + async renderRoute(url, context = {}, _retried) { /* istanbul ignore if */ if (!this.isReady) { + // Production if (!this.context.options.dev) { - return this._throwNotReadyError() + if (!_retried && ['loading', 'created'].includes(this._state)) { + await this.ready() + return this.renderRoute(url, context, true) + } + switch (this._state) { + case 'created': + throw new Error('Renderer ready() is not called! Please ensure `nuxt.ready()` is called and awaited.') + case 'loading': + throw new Error(`Renderer is loading.`) + case 'error': + throw this._error + case 'ready': + throw new Error(`Renderer is loaded but not all resources are unavailable! Please check ${this.distPath} existence.`) + default: + throw new Error('Renderer is in unknown state!') + } } // Tell nuxt middleware to render UI return false diff --git a/packages/webpack/CHANGELOG.md b/packages/webpack/CHANGELOG.md index 701b34de85..2b029547bf 100644 --- a/packages/webpack/CHANGELOG.md +++ b/packages/webpack/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/nuxt/nuxt.js/compare/v2.5.1...v2.6.0) (2019-04-04) + + +### Bug Fixes + +* revert node-externals disabling in dev mode ([#5452](https://github.com/nuxt/nuxt.js/issues/5452)) ([6ce99d2](https://github.com/nuxt/nuxt.js/commit/6ce99d2)) +* **webpack:** prefer `main` over `module` field for server config ([#5446](https://github.com/nuxt/nuxt.js/issues/5446)) ([e155ea4](https://github.com/nuxt/nuxt.js/commit/e155ea4)) +* disable `node-externals` for dev mode ([#5414](https://github.com/nuxt/nuxt.js/issues/5414)) ([a5a1657](https://github.com/nuxt/nuxt.js/commit/a5a1657)) +* memory leak in dev mode ([#5399](https://github.com/nuxt/nuxt.js/issues/5399)) ([04ddcac](https://github.com/nuxt/nuxt.js/commit/04ddcac)) +* not override externals set by build.extend ([#5444](https://github.com/nuxt/nuxt.js/issues/5444)) ([1ae4333](https://github.com/nuxt/nuxt.js/commit/1ae4333)) +* **builder:** await for renderer to load resources ([#5341](https://github.com/nuxt/nuxt.js/issues/5341)) ([caf5198](https://github.com/nuxt/nuxt.js/commit/caf5198)) + + + + + ## [2.5.1](https://github.com/nuxt/nuxt.js/compare/v2.5.0...v2.5.1) (2019-03-21) **Note:** Version bump only for package @nuxt/webpack diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 50592f2ed5..fced835337 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -1,6 +1,6 @@ { "name": "@nuxt/webpack", - "version": "2.5.1", + "version": "2.6.0", "repository": "nuxt/nuxt.js", "license": "MIT", "files": [ @@ -8,19 +8,19 @@ ], "main": "dist/webpack.js", "dependencies": { - "@babel/core": "^7.4.0", - "@nuxt/babel-preset-app": "2.5.1", + "@babel/core": "^7.4.3", + "@nuxt/babel-preset-app": "2.6.0", "@nuxt/friendly-errors-webpack-plugin": "^2.4.0", - "@nuxt/utils": "2.5.1", + "@nuxt/utils": "2.6.0", "babel-loader": "^8.0.5", "cache-loader": "^2.0.1", - "caniuse-lite": "^1.0.30000951", + "caniuse-lite": "^1.0.30000957", "chalk": "^2.4.2", - "consola": "^2.5.7", + "consola": "^2.5.8", "css-loader": "^2.1.1", "cssnano": "^4.1.10", "eventsource-polyfill": "^0.9.6", - "extract-css-chunks-webpack-plugin": "^4.0.1", + "extract-css-chunks-webpack-plugin": "^4.3.0", "file-loader": "^3.0.1", "fs-extra": "^7.0.1", "glob": "^7.1.3", @@ -32,7 +32,7 @@ "pify": "^4.0.1", "postcss": "^7.0.14", "postcss-import": "^12.0.1", - "postcss-import-resolver": "^1.1.0", + "postcss-import-resolver": "^1.2.2", "postcss-loader": "^3.0.0", "postcss-preset-env": "^6.6.0", "postcss-url": "^8.0.0", @@ -45,7 +45,7 @@ "vue-loader": "^15.7.0", "webpack": "^4.29.6", "webpack-bundle-analyzer": "^3.1.0", - "webpack-dev-middleware": "^3.6.1", + "webpack-dev-middleware": "^3.6.2", "webpack-hot-middleware": "^2.24.3", "webpack-node-externals": "^1.7.2", "webpackbar": "^3.1.5" diff --git a/packages/webpack/src/builder.js b/packages/webpack/src/builder.js index 7f7251a9a8..936de7b4b7 100644 --- a/packages/webpack/src/builder.js +++ b/packages/webpack/src/builder.js @@ -6,14 +6,10 @@ import webpackDevMiddleware from 'webpack-dev-middleware' import webpackHotMiddleware from 'webpack-hot-middleware' import consola from 'consola' -import { - parallel, - sequence, - wrapArray -} from '@nuxt/utils' +import { parallel, sequence, wrapArray } from '@nuxt/utils' import AsyncMFS from './utils/async-mfs' -import { ClientConfig, ModernConfig, ServerConfig } from './config' +import * as WebpackConfigs from './config' import PerfLoader from './utils/perf-loader' const glob = pify(Glob) @@ -37,44 +33,28 @@ export class WebpackBundler { } } + getWebpackConfig(name) { + const Config = WebpackConfigs[name] // eslint-disable-line import/namespace + if (!Config) { + throw new Error(`Unsupported webpack config ${name}`) + } + const config = new Config(this) + return config.config() + } + async build() { const { options } = this.buildContext - const compilersOptions = [] + const webpackConfigs = [ + this.getWebpackConfig('Client') + ] - // Client - const clientConfig = new ClientConfig(this).config() - compilersOptions.push(clientConfig) - - // Modern - let modernConfig if (options.modern) { - modernConfig = new ModernConfig(this).config() - compilersOptions.push(modernConfig) + webpackConfigs.push(this.getWebpackConfig('Modern')) } - // Server - let serverConfig = null if (options.build.ssr) { - serverConfig = new ServerConfig(this).config() - compilersOptions.push(serverConfig) - } - - for (const p of this.buildContext.plugins) { - // Client config - if (!clientConfig.resolve.alias[p.name]) { - clientConfig.resolve.alias[p.name] = p.mode === 'server' ? './empty.js' : p.src - } - - // Modern config - if (modernConfig && !modernConfig.resolve.alias[p.name]) { - modernConfig.resolve.alias[p.name] = p.mode === 'server' ? './empty.js' : p.src - } - - // Server config - if (serverConfig && !serverConfig.resolve.alias[p.name]) { - serverConfig.resolve.alias[p.name] = p.mode === 'client' ? './empty.js' : p.src - } + webpackConfigs.push(this.getWebpackConfig('Server')) } // Check styleResource existence @@ -96,8 +76,8 @@ export class WebpackBundler { } // Configure compilers - this.compilers = compilersOptions.map((compilerOptions) => { - const compiler = webpack(compilerOptions) + this.compilers = webpackConfigs.map((config) => { + const compiler = webpack(config) // In dev, write files in memory FS if (options.dev) { @@ -173,6 +153,9 @@ export class WebpackBundler { // Actual error will be printed by webpack throw new Error('Nuxt Build Error') } + + // Await for renderer to load resources (programmatic, tests and generate) + await nuxt.callHook('build:resources') } async webpackDev(compiler) { diff --git a/packages/webpack/src/config/base.js b/packages/webpack/src/config/base.js index ad4f8c946e..445bdd507a 100644 --- a/packages/webpack/src/config/base.js +++ b/packages/webpack/src/config/base.js @@ -147,6 +147,22 @@ export default class WebpackBaseConfig { return optimization } + resolve() { + // Prioritize nested node_modules in webpack search path (#2558) + const webpackModulesDir = ['node_modules'].concat(this.buildContext.options.modulesDir) + + return { + resolve: { + extensions: ['.wasm', '.mjs', '.js', '.json', '.vue', '.jsx', '.ts', '.tsx'], + alias: this.alias(), + modules: webpackModulesDir + }, + resolveLoader: { + modules: webpackModulesDir + } + } + } + minimizer() { const minimizer = [] const { terser, cache } = this.buildContext.buildOptions @@ -414,9 +430,6 @@ export default class WebpackBaseConfig { } config() { - // Prioritize nested node_modules in webpack search path (#2558) - const webpackModulesDir = ['node_modules'].concat(this.buildContext.options.modulesDir) - const config = { name: this.name, mode: this.mode, @@ -427,18 +440,11 @@ export default class WebpackBaseConfig { maxEntrypointSize: 1000 * 1024, hints: this.dev ? false : 'warning' }, - resolve: { - extensions: ['.wasm', '.mjs', '.js', '.json', '.vue', '.jsx', '.ts', '.tsx'], - alias: this.alias(), - modules: webpackModulesDir - }, - resolveLoader: { - modules: webpackModulesDir - }, module: { rules: this.rules() }, - plugins: this.plugins() + plugins: this.plugins(), + ...this.resolve() } // Clone deep avoid leaking config between Client and Server diff --git a/packages/webpack/src/config/client.js b/packages/webpack/src/config/client.js index 6642105240..878b5c1623 100644 --- a/packages/webpack/src/config/client.js +++ b/packages/webpack/src/config/client.js @@ -74,9 +74,22 @@ export default class WebpackClientConfig extends WebpackBaseConfig { return minimizer } + alias() { + const aliases = super.alias() + + for (const p of this.buildContext.plugins) { + if (!aliases[p.name]) { + // Do not load server-side plugins on client-side + aliases[p.name] = p.mode === 'server' ? './empty.js' : p.src + } + } + + return aliases + } + plugins() { const plugins = super.plugins() - const { buildOptions, options: { appTemplatePath, buildDir, modern, rootDir, _typescript } } = this.buildContext + const { buildOptions, options: { appTemplatePath, buildDir, modern, rootDir, _typescript = {} } } = this.buildContext // Generate output HTML for SSR if (buildOptions.ssr) { @@ -139,8 +152,7 @@ export default class WebpackClientConfig extends WebpackBaseConfig { // TypeScript type checker // Only performs once per client compilation and only if `ts-loader` checker is not used (transpileOnly: true) - if (_typescript && buildOptions.typescript && buildOptions.typescript.typeCheck && !this.isModern && this.loaders.ts.transpileOnly) { - // We assume that "_typescript" being truthy means @nuxt/typescript is installed <=> fork-ts-checker-webpack-plugin is installed + if (_typescript.build && buildOptions.typescript && buildOptions.typescript.typeCheck && !this.isModern && this.loaders.ts.transpileOnly) { const ForkTsCheckerWebpackPlugin = require(this.buildContext.nuxt.resolver.resolveModule('fork-ts-checker-webpack-plugin')) plugins.push(new ForkTsCheckerWebpackPlugin(Object.assign({ vue: true, diff --git a/packages/webpack/src/config/index.js b/packages/webpack/src/config/index.js index 265594922f..cd45dafbeb 100644 --- a/packages/webpack/src/config/index.js +++ b/packages/webpack/src/config/index.js @@ -1,3 +1,3 @@ -export { default as ClientConfig } from './client' -export { default as ModernConfig } from './modern' -export { default as ServerConfig } from './server' +export { default as Client } from './client' +export { default as Modern } from './modern' +export { default as Server } from './server' diff --git a/packages/webpack/src/config/server.js b/packages/webpack/src/config/server.js index 25a30c37f4..44ce237ca6 100644 --- a/packages/webpack/src/config/server.js +++ b/packages/webpack/src/config/server.js @@ -28,6 +28,7 @@ export default class WebpackServerConfig extends WebpackBaseConfig { whitelist.push(new RegExp(escapeRegExp(posixModule))) } } + return whitelist } @@ -52,6 +53,27 @@ export default class WebpackServerConfig extends WebpackBaseConfig { } } + resolve() { + const resolveConfig = super.resolve() + + resolveConfig.resolve.mainFields = ['main', 'module'] + + return resolveConfig + } + + alias() { + const aliases = super.alias() + + for (const p of this.buildContext.plugins) { + if (!aliases[p.name]) { + // Do not load client-side plugins on server-side + aliases[p.name] = p.mode === 'client' ? './empty.js' : p.src + } + } + + return aliases + } + plugins() { const plugins = super.plugins() plugins.push( @@ -81,7 +103,7 @@ export default class WebpackServerConfig extends WebpackBaseConfig { maxEntrypointSize: Infinity, maxAssetSize: Infinity }, - externals: [] + externals: [].concat(config.externals || []) }) // https://webpack.js.org/configuration/externals/#externals diff --git a/packages/webpack/src/utils/postcss.js b/packages/webpack/src/utils/postcss.js index dfac1c26fd..5b75b1705e 100644 --- a/packages/webpack/src/utils/postcss.js +++ b/packages/webpack/src/utils/postcss.js @@ -28,6 +28,14 @@ export const orderPresets = { } } +function postcssConfigFileWarning() { + if (postcssConfigFileWarning.executed) { + return + } + consola.warn('Please use `build.postcss` in your nuxt.config.js instead of an external config file. Support for such files will be removed in Nuxt 3 as they remove all defaults set by Nuxt and can cause severe problems with features like alias resolving inside your CSS.') + postcssConfigFileWarning.executed = true +} + export default class PostcssConfig { constructor(buildContext) { this.buildContext = buildContext @@ -70,6 +78,7 @@ export default class PostcssConfig { searchConfigFile() { // Search for postCSS config file and use it if exists // https://github.com/michael-ciniawsky/postcss-load-config + // TODO: Remove in Nuxt 3 const { srcDir, rootDir } = this.buildContext.options for (const dir of [ srcDir, rootDir ]) { for (const file of [ @@ -81,6 +90,7 @@ export default class PostcssConfig { ]) { const configFile = path.resolve(dir, file) if (fs.existsSync(configFile)) { + postcssConfigFileWarning() return configFile } } diff --git a/renovate.json b/renovate.json index fc2a735b3e..bfdca19743 100644 --- a/renovate.json +++ b/renovate.json @@ -6,7 +6,8 @@ "dev" ], "ignoreDeps": [ - "thread-loader" + "thread-loader", + "core-js" ], "lockFileMaintenance": { "enabled": true diff --git a/test/e2e/basic.browser.test.js b/test/e2e/basic.browser.test.js index 544fd54767..4a0e446822 100644 --- a/test/e2e/basic.browser.test.js +++ b/test/e2e/basic.browser.test.js @@ -212,12 +212,6 @@ describe('basic browser', () => { expect(await page.$text('h1')).toBe('Displayed only on client-side') }) - test('/pug', async () => { - await page.nuxt.navigate('/pug') - - expect(await page.$text('h1')).toBe('Pug page') - }) - test('/meta', async () => { await page.nuxt.navigate('/meta') diff --git a/test/fixtures/basic/pages/jsx-link.js b/test/fixtures/basic/pages/jsx-link.js index 58424174c3..a1a02ed7d9 100644 --- a/test/fixtures/basic/pages/jsx-link.js +++ b/test/fixtures/basic/pages/jsx-link.js @@ -1,4 +1,4 @@ -import renderLink from './jsx-link.jsx' +import renderLink from './jsx-link2.jsx' export default { render: renderLink diff --git a/test/fixtures/basic/pages/jsx-link.jsx b/test/fixtures/basic/pages/jsx-link2.jsx similarity index 100% rename from test/fixtures/basic/pages/jsx-link.jsx rename to test/fixtures/basic/pages/jsx-link2.jsx diff --git a/test/fixtures/basic/pages/pug.vue b/test/fixtures/basic/pages/pug.vue deleted file mode 100644 index f14d525031..0000000000 --- a/test/fixtures/basic/pages/pug.vue +++ /dev/null @@ -1,3 +0,0 @@ - diff --git a/test/fixtures/spa/middleware/middleware.js b/test/fixtures/spa/middleware/middleware.js new file mode 100644 index 0000000000..0fb38e4d0f --- /dev/null +++ b/test/fixtures/spa/middleware/middleware.js @@ -0,0 +1,14 @@ + +export default function ({ route, redirect }) { + const redirectPathRegexp = /^\/redirect(\d+)$/ + const match = route.path.match(redirectPathRegexp) + + if (match) { + const number = parseInt(match[1]) + if (number === 1) { + redirect('/redirect-done') + } else { + redirect(`/redirect${number - 1}`) + } + } +} diff --git a/test/fixtures/spa/nuxt.config.js b/test/fixtures/spa/nuxt.config.js index e3f902b0f4..ff64b078da 100644 --- a/test/fixtures/spa/nuxt.config.js +++ b/test/fixtures/spa/nuxt.config.js @@ -15,6 +15,9 @@ export default { chunk: '[name].js' } }, + router: { + middleware: 'middleware' + }, plugins: [ '~/plugins/error.js' ] diff --git a/test/fixtures/spa/pages/redirect-done.vue b/test/fixtures/spa/pages/redirect-done.vue new file mode 100644 index 0000000000..1aceb78de4 --- /dev/null +++ b/test/fixtures/spa/pages/redirect-done.vue @@ -0,0 +1,17 @@ + + + diff --git a/test/fixtures/with-config/with-config.test.js b/test/fixtures/with-config/with-config.test.js index a0ab037806..357d56e1fb 100644 --- a/test/fixtures/with-config/with-config.test.js +++ b/test/fixtures/with-config/with-config.test.js @@ -14,26 +14,18 @@ const hooks = [ describe('with-config', () => { buildFixture('with-config', () => { - expect(consola.warn).toHaveBeenCalledTimes(5) + expect(consola.warn).toHaveBeenCalledTimes(6) expect(consola.fatal).toHaveBeenCalledTimes(0) expect(consola.warn.mock.calls).toMatchObject([ - [ - 'Unknown mode: unknown. Falling back to universal' - ], - [ - `Invalid plugin mode (server/client/all): 'abc'. Falling back to 'all'` - ], + ['Unknown mode: unknown. Falling back to universal'], + ['Invalid plugin mode (server/client/all): \'abc\'. Falling back to \'all\''], [{ - message: 'Found 2 plugins that match the configuration, suggest to specify extension:', - additional: expect.stringContaining('plugins/test.json') + 'additional': expect.stringContaining('plugins/test.json'), + 'message': 'Found 2 plugins that match the configuration, suggest to specify extension:' }], - [ - 'Using styleResources without the nuxt-style-resources-module is not suggested and can lead to severe performance issues.', - 'Please use https://github.com/nuxt-community/style-resources-module' - ], - [ - 'Notice: Please do not deploy bundles built with analyze mode, it\'s only for analyzing purpose.' - ] + ['Please use `build.postcss` in your nuxt.config.js instead of an external config file. Support for such files will be removed in Nuxt 3 as they remove all defaults set by Nuxt and can cause severe problems with features like alias resolving inside your CSS.'], + ['Using styleResources without the nuxt-style-resources-module is not suggested and can lead to severe performance issues.', 'Please use https://github.com/nuxt-community/style-resources-module'], + ['Notice: Please do not deploy bundles built with analyze mode, it\'s only for analyzing purpose.'] ]) expect(customCompressionMiddlewareFunctionName).toBe('damn') }, hooks) diff --git a/test/unit/basic.ssr.csp.test.js b/test/unit/basic.ssr.csp.test.js index eee5ea7332..90d13e89a4 100644 --- a/test/unit/basic.ssr.csp.test.js +++ b/test/unit/basic.ssr.csp.test.js @@ -171,6 +171,31 @@ describe('basic ssr csp', () => { expect(uniqueHashes.length).toBe(hashes.length) } ) + + test( + 'Not contain hash when \'unsafe-inline\' option is present in script-src policy', + async () => { + const policies = { + 'script-src': [`'unsafe-inline'`] + } + + nuxt = await startCspServer({ + policies + }) + + for (let i = 0; i < 5; i++) { + await rp(url('/stateless'), { + resolveWithFullResponse: true + }) + } + + const { headers } = await rp(url('/stateful'), { + resolveWithFullResponse: true + }) + + expect(headers[cspHeader]).toMatch(/script-src 'self' 'unsafe-inline'$/) + } + ) }) describe('debug mode', () => { test( @@ -314,6 +339,7 @@ describe('basic ssr csp', () => { expect(uniqueHashes.length).toBe(hashes.length) } ) + test( 'Not contain old hashes when loading new page', async () => { @@ -339,5 +365,30 @@ describe('basic ssr csp', () => { expect(intersection.size).toBe(0) } ) + + test( + 'Not contain hash when \'unsafe-inline\' option is present in script-src policy', + async () => { + const policies = { + 'script-src': [`'unsafe-inline'`] + } + + nuxt = await startCspDevServer({ + policies + }) + + for (let i = 0; i < 5; i++) { + await rp(url('/stateless'), { + resolveWithFullResponse: true + }) + } + + const { headers } = await rp(url('/stateful'), { + resolveWithFullResponse: true + }) + + expect(headers[reportOnlyHeader]).toMatch(/script-src 'self' 'unsafe-inline'$/) + } + ) }) }) diff --git a/test/unit/renderer.test.js b/test/unit/renderer.test.js index 3cc974f99c..b0331e3ba0 100644 --- a/test/unit/renderer.test.js +++ b/test/unit/renderer.test.js @@ -16,9 +16,8 @@ describe('renderer', () => { dev: false, buildDir: '/path/to/404' }) - await nuxt.ready() - await expect(nuxt.renderer.renderer.isReady).toBe(false) - expect(consola.fatal).toHaveBeenCalledWith(expect.objectContaining({ + + await expect(nuxt.ready()).rejects.toThrow(expect.objectContaining({ message: expect.stringMatching(NO_BUILD_MSG) })) }) @@ -30,9 +29,8 @@ describe('renderer', () => { dev: false, buildDir: '/path/to/404' }) - await nuxt.ready() - await expect(nuxt.renderer.renderer.isReady).toBe(false) - expect(consola.fatal).toHaveBeenCalledWith(expect.objectContaining({ + + await expect(nuxt.ready()).rejects.toThrow(expect.objectContaining({ message: expect.stringMatching(NO_BUILD_MSG) })) }) @@ -44,9 +42,8 @@ describe('renderer', () => { dev: false, buildDir: '/path/to/404' }) - await nuxt.ready() - await expect(nuxt.renderer.renderer.isModernReady).toBe(false) - expect(consola.fatal).toHaveBeenCalledWith(expect.objectContaining({ + + await expect(nuxt.ready()).rejects.toThrow(expect.objectContaining({ message: expect.stringMatching(NO_MODERN_BUILD_MSG) })) }) diff --git a/test/unit/spa.test.js b/test/unit/spa.test.js index 023458e42a..acf92ffaeb 100644 --- a/test/unit/spa.test.js +++ b/test/unit/spa.test.js @@ -99,6 +99,43 @@ describe('spa', () => { const { $data } = window.$nuxt.$route.matched[0].instances.default expect(Object.keys($data).length).toBe(1) + consola.log.mockClear() + }) + + test('/redirect-done (no redirect)', async () => { + const { html } = await renderRoute('/redirect-done') + expect(html).toContain('
Redirect Done Page
') + expect(consola.log).toHaveBeenCalledWith('redirect-done created') + expect(consola.log).toHaveBeenCalledWith('redirect-done mounted') + expect(consola.log).toHaveBeenCalledTimes(2) + consola.log.mockClear() + }) + + test('/redirect1 (redirect 1 time)', async () => { + const { html } = await renderRoute('/redirect1') + expect(html).toContain('
Redirect Done Page
') + expect(consola.log).toHaveBeenCalledWith('redirect-done created') + expect(consola.log).toHaveBeenCalledWith('redirect-done mounted') + expect(consola.log).toHaveBeenCalledTimes(2) + consola.log.mockClear() + }) + + test('/redirect2 (redirect 2 times)', async () => { + const { html } = await renderRoute('/redirect2') + expect(html).toContain('
Redirect Done Page
') + expect(consola.log).toHaveBeenCalledWith('redirect-done created') + expect(consola.log).toHaveBeenCalledWith('redirect-done mounted') + expect(consola.log).toHaveBeenCalledTimes(2) + consola.log.mockClear() + }) + + test('/redirect10 (redirect 10 times)', async () => { + const { html } = await renderRoute('/redirect10') + expect(html).toContain('
Redirect Done Page
') + expect(consola.log).toHaveBeenCalledWith('redirect-done created') + expect(consola.log).toHaveBeenCalledWith('redirect-done mounted') + expect(consola.log).toHaveBeenCalledTimes(2) + consola.log.mockClear() }) // Close server and ask nuxt to stop listening to file changes diff --git a/test/unit/typescript.modern.test.js b/test/unit/typescript.modern.test.js index 4f934f653e..a14bafe199 100644 --- a/test/unit/typescript.modern.test.js +++ b/test/unit/typescript.modern.test.js @@ -8,7 +8,7 @@ describe('typescript modern', () => { beforeAll(async () => { const options = await loadFixture('typescript') - nuxt = new Nuxt(Object.assign(options, { modern: true, _typescript: true })) + nuxt = new Nuxt(Object.assign(options, { modern: true, _typescript: { build: true } })) await new Builder(nuxt, BundleBuilder).build() }) diff --git a/test/unit/unicode-base.test.js b/test/unit/unicode-base.test.js index c6da4a7d8f..bebef4ff4d 100644 --- a/test/unit/unicode-base.test.js +++ b/test/unit/unicode-base.test.js @@ -19,8 +19,7 @@ describe('unicode-base', () => { const window = await nuxt.server.renderAndGetWindow(url('/ö/')) const html = window.document.body.innerHTML - // important to have the actual page transition classes here -> page works, no hydration error - expect(html).toContain('

Unicode base works!

') + expect(html).toContain('

Unicode base works!

') }) // Close server and ask nuxt to stop listening to file changes diff --git a/test/utils/chrome.js b/test/utils/chrome.js index 20db7d79c7..2f1e38509b 100644 --- a/test/utils/chrome.js +++ b/test/utils/chrome.js @@ -47,7 +47,7 @@ export default class ChromeDetector { } execSync( `${LSREGISTER} -dump` + - " | grep -i '(google chrome\\( canary\\)\\?|chromium).app$'" + + ' | grep -E -i \'(google chrome( canary)?|chromium).app$\'' + ' | awk \'{$1=""; print $0}\'' ) .toString() diff --git a/yarn.lock b/yarn.lock index 7df24b24c2..75b360136c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,7 +9,7 @@ dependencies: "@babel/highlight" "^7.0.0" -"@babel/core@^7.1.0", "@babel/core@^7.4.0": +"@babel/core@^7.1.0": version "7.4.0" resolved "https://registry.npmjs.org/@babel/core/-/core-7.4.0.tgz#248fd6874b7d755010bfe61f557461d4f446d9e9" integrity sha512-Dzl7U0/T69DFOTwqz/FJdnOSWS57NpjNfCwMKHABr589Lg8uX1RrlBIJ7L5Dubt/xkLsx0xH5EBFzlBVes1ayA== @@ -29,6 +29,26 @@ semver "^5.4.1" source-map "^0.5.0" +"@babel/core@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.4.3.tgz#198d6d3af4567be3989550d97e068de94503074f" + integrity sha512-oDpASqKFlbspQfzAE7yaeTmdljSH2ADIvBlb0RwbStltTuWa0+7CCI1fYVINNv9saHPa1W7oaKeuNuKj+RQCvA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.4.0" + "@babel/helpers" "^7.4.3" + "@babel/parser" "^7.4.3" + "@babel/template" "^7.4.0" + "@babel/traverse" "^7.4.3" + "@babel/types" "^7.4.0" + convert-source-map "^1.1.0" + debug "^4.1.0" + json5 "^2.1.0" + lodash "^4.17.11" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + "@babel/generator@^7.0.0", "@babel/generator@^7.4.0": version "7.4.0" resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.4.0.tgz#c230e79589ae7a729fd4631b9ded4dc220418196" @@ -142,6 +162,18 @@ "@babel/types" "^7.2.2" lodash "^4.17.10" +"@babel/helper-module-transforms@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.4.3.tgz#b1e357a1c49e58a47211a6853abb8e2aaefeb064" + integrity sha512-H88T9IySZW25anu5uqyaC1DaQre7ofM+joZtAaO2F8NBdFfupH0SZ4gKjgSFVcvtx/aAirqA9L9Clio2heYbZA== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-simple-access" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.0.0" + "@babel/template" "^7.2.2" + "@babel/types" "^7.2.2" + lodash "^4.17.11" + "@babel/helper-optimise-call-expression@^7.0.0": version "7.0.0" resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" @@ -161,6 +193,13 @@ dependencies: lodash "^4.17.10" +"@babel/helper-regex@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.4.3.tgz#9d6e5428bfd638ab53b37ae4ec8caf0477495147" + integrity sha512-hnoq5u96pLCfgjXuj8ZLX3QQ+6nAulS+zSgi6HulUwFbEruRAKwbGLU5OvXkE14L8XW6XsQEKsIDfgthKLRAyA== + dependencies: + lodash "^4.17.11" + "@babel/helper-remap-async-to-generator@^7.1.0": version "7.1.0" resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" @@ -216,6 +255,15 @@ "@babel/traverse" "^7.4.0" "@babel/types" "^7.4.0" +"@babel/helpers@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.4.3.tgz#7b1d354363494b31cb9a2417ae86af32b7853a3b" + integrity sha512-BMh7X0oZqb36CfyhvtbSmcWc3GXocfxv3yNsAEuM0l+fAqSO22rQrUpijr3oE/10jCTrB6/0b9kzmG4VetCj8Q== + dependencies: + "@babel/template" "^7.4.0" + "@babel/traverse" "^7.4.3" + "@babel/types" "^7.4.0" + "@babel/highlight@^7.0.0": version "7.0.0" resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" @@ -230,6 +278,11 @@ resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.4.2.tgz#b4521a400cb5a871eab3890787b4bc1326d38d91" integrity sha512-9fJTDipQFvlfSVdD/JBtkiY0br9BtfvW2R8wo6CX/Ej2eMuV0gWPk1M67Mt3eggQvBqYW1FCEk8BN7WvGm/g5g== +"@babel/parser@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.4.3.tgz#eb3ac80f64aa101c907d4ce5406360fe75b7895b" + integrity sha512-gxpEUhTS1sGA63EGQGuA+WESPR/6tz6ng7tSHFCmaTJK/cGK8y37cBTspX+U2xCAue2IQVvF6Z0oigmjwD8YGQ== + "@babel/plugin-proposal-async-generator-functions@^7.2.0": version "7.2.0" resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" @@ -264,10 +317,10 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-json-strings" "^7.2.0" -"@babel/plugin-proposal-object-rest-spread@^7.4.0": - version "7.4.0" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.0.tgz#e4960575205eadf2a1ab4e0c79f9504d5b82a97f" - integrity sha512-uTNi8pPYyUH2eWHyYWWSYJKwKg34hhgl4/dbejEjL+64OhbHjTX7wEVWMQl82tEmdDsGeu77+s8HHLS627h6OQ== +"@babel/plugin-proposal-object-rest-spread@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.3.tgz#be27cd416eceeba84141305b93c282f5de23bbb4" + integrity sha512-xC//6DNSSHVjq8O2ge0dyYlhshsH4T7XdCVoxbi5HzLYWfsC5ooFlJjrXk8RcAT+hjHAK9UjBXdylzSoDK3t4g== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" @@ -369,10 +422,10 @@ "@babel/helper-plugin-utils" "^7.0.0" lodash "^4.17.11" -"@babel/plugin-transform-classes@^7.4.0": - version "7.4.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.0.tgz#e3428d3c8a3d01f33b10c529b998ba1707043d4d" - integrity sha512-XGg1Mhbw4LDmrO9rSTNe+uI79tQPdGs0YASlxgweYRLZqo/EQktjaOV4tchL/UZbM0F+/94uOipmdNGoaGOEYg== +"@babel/plugin-transform-classes@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.3.tgz#adc7a1137ab4287a555d429cc56ecde8f40c062c" + integrity sha512-PUaIKyFUDtG6jF5DUJOfkBdwAS/kFFV3XFk7Nn0a6vR7ZT8jYw5cGtIlat77wcnd0C6ViGqo/wyNf4ZHytF/nQ== dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-define-map" "^7.4.0" @@ -390,21 +443,21 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-destructuring@^7.4.0": - version "7.4.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.0.tgz#acbb9b2418d290107db333f4d6cd8aa6aea00343" - integrity sha512-HySkoatyYTY3ZwLI8GGvkRWCFrjAGXUHur5sMecmCIdIharnlcWWivOqDJI76vvmVZfzwb6G08NREsrY96RhGQ== +"@babel/plugin-transform-destructuring@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.3.tgz#1a95f5ca2bf2f91ef0648d5de38a8d472da4350f" + integrity sha512-rVTLLZpydDFDyN4qnXdzwoVpk1oaXHIvPEOkOLyr88o7oHxVc/LyrnDx+amuBWGOwUb7D1s/uLsKBNTx08htZg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-dotall-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz#f0aabb93d120a8ac61e925ea0ba440812dbe0e49" - integrity sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ== +"@babel/plugin-transform-dotall-regex@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.3.tgz#fceff1c16d00c53d32d980448606f812cd6d02bf" + integrity sha512-9Arc2I0AGynzXRR/oPdSALv3k0rM38IMFyto7kOCwb5F9sLUt2Ykdo3V9yUPR+Bgr4kb6bVEyLkPEiBhzcTeoA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.1.3" + "@babel/helper-regex" "^7.4.3" + regexpu-core "^4.5.4" "@babel/plugin-transform-duplicate-keys@^7.2.0": version "7.2.0" @@ -421,17 +474,17 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-for-of@^7.4.0": - version "7.4.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.0.tgz#56c8c36677f5d4a16b80b12f7b768de064aaeb5f" - integrity sha512-vWdfCEYLlYSxbsKj5lGtzA49K3KANtb8qCPQ1em07txJzsBwY+cKJzBHizj5fl3CCx7vt+WPdgDLTHmydkbQSQ== +"@babel/plugin-transform-for-of@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.3.tgz#c36ff40d893f2b8352202a2558824f70cd75e9fe" + integrity sha512-UselcZPwVWNSURnqcfpnxtMehrb8wjXYOimlYQPBnup/Zld426YzIhNEvuRsEWVHfESIECGrxoI6L5QqzuLH5Q== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-function-name@^7.2.0": - version "7.2.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz#f7930362829ff99a3174c39f0afcc024ef59731a" - integrity sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ== +"@babel/plugin-transform-function-name@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.3.tgz#130c27ec7fb4f0cba30e958989449e5ec8d22bbd" + integrity sha512-uT5J/3qI/8vACBR9I1GlAuU/JqBtWdfCrynuOkrWG6nCDieZd5przB1vfP59FRHBZQ9DC2IUfqr/xKqzOD5x0A== dependencies: "@babel/helper-function-name" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -443,6 +496,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-transform-member-expression-literals@^7.2.0": + version "7.2.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz#fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d" + integrity sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-transform-modules-amd@^7.2.0": version "7.2.0" resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6" @@ -451,7 +511,7 @@ "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-modules-commonjs@^7.2.0", "@babel/plugin-transform-modules-commonjs@^7.4.0": +"@babel/plugin-transform-modules-commonjs@^7.2.0": version "7.4.0" resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.0.tgz#3b8ec61714d3b75d20c5ccfa157f2c2e087fd4ca" integrity sha512-iWKAooAkipG7g1IY0eah7SumzfnIT3WNhT4uYB2kIsvHnNSB6MDYVa5qyICSwaTBDBY2c4SnJ3JtEa6ltJd6Jw== @@ -460,6 +520,15 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-simple-access" "^7.1.0" +"@babel/plugin-transform-modules-commonjs@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.3.tgz#3917f260463ac08f8896aa5bd54403f6e1fed165" + integrity sha512-sMP4JqOTbMJMimqsSZwYWsMjppD+KRyDIUVW91pd7td0dZKAvPmhCaxhOzkzLParKwgQc7bdL9UNv+rpJB0HfA== + dependencies: + "@babel/helper-module-transforms" "^7.4.3" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-simple-access" "^7.1.0" + "@babel/plugin-transform-modules-systemjs@^7.4.0": version "7.4.0" resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.0.tgz#c2495e55528135797bc816f5d50f851698c586a1" @@ -498,26 +567,40 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-replace-supers" "^7.1.0" -"@babel/plugin-transform-parameters@^7.4.0": - version "7.4.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.0.tgz#a1309426fac4eecd2a9439a4c8c35124a11a48a9" - integrity sha512-Xqv6d1X+doyiuCGDoVJFtlZx0onAX0tnc3dY8w71pv/O0dODAbusVv2Ale3cGOwfiyi895ivOBhYa9DhAM8dUA== +"@babel/plugin-transform-parameters@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.3.tgz#e5ff62929fdf4cf93e58badb5e2430303003800d" + integrity sha512-ULJYC2Vnw96/zdotCZkMGr2QVfKpIT/4/K+xWWY0MbOJyMZuk660BGkr3bEKWQrrciwz6xpmft39nA4BF7hJuA== dependencies: "@babel/helper-call-delegate" "^7.4.0" "@babel/helper-get-function-arity" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-regenerator@^7.4.0": - version "7.4.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.0.tgz#0780e27ee458cc3fdbad18294d703e972ae1f6d1" - integrity sha512-SZ+CgL4F0wm4npojPU6swo/cK4FcbLgxLd4cWpHaNXY/NJ2dpahODCqBbAwb2rDmVszVb3SSjnk9/vik3AYdBw== +"@babel/plugin-transform-property-literals@^7.2.0": + version "7.2.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905" + integrity sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-regenerator@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.3.tgz#2a697af96887e2bbf5d303ab0221d139de5e739c" + integrity sha512-kEzotPuOpv6/iSlHroCDydPkKYw7tiJGKlmYp6iJn4a6C/+b2FdttlJsLKYxolYHgotTJ5G5UY5h0qey5ka3+A== dependencies: regenerator-transform "^0.13.4" -"@babel/plugin-transform-runtime@^7.4.0": - version "7.4.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.4.0.tgz#b4d8c925ed957471bc57e0b9da53408ebb1ed457" - integrity sha512-1uv2h9wnRj98XX3g0l4q+O3jFM6HfayKup7aIu4pnnlzGz0H+cYckGBC74FZIWJXJSXAmeJ9Yu5Gg2RQpS4hWg== +"@babel/plugin-transform-reserved-words@^7.2.0": + version "7.2.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz#4792af87c998a49367597d07fedf02636d2e1634" + integrity sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-runtime@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.4.3.tgz#4d6691690ecdc9f5cb8c3ab170a1576c1f556371" + integrity sha512-7Q61bU+uEI7bCUFReT1NKn7/X6sDQsZ7wL1sJ9IYMAO7cI+eg6x9re1cEw2fCRMbbTVyoeUKWSV1M6azEfKCfg== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -561,25 +644,25 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-unicode-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz#4eb8db16f972f8abb5062c161b8b115546ade08b" - integrity sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA== +"@babel/plugin-transform-unicode-regex@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.3.tgz#3868703fc0e8f443dda65654b298df576f7b863b" + integrity sha512-lnSNgkVjL8EMtnE8eSS7t2ku8qvKH3eqNf/IwIfnSPUqzgqYmRwzdsQWv4mNQAN9Nuo6Gz1Y0a4CSmdpu1Pp6g== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.1.3" + "@babel/helper-regex" "^7.4.3" + regexpu-core "^4.5.4" -"@babel/preset-env@^7.4.2": - version "7.4.2" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.4.2.tgz#2f5ba1de2daefa9dcca653848f96c7ce2e406676" - integrity sha512-OEz6VOZaI9LW08CWVS3d9g/0jZA6YCn1gsKIy/fut7yZCJti5Lm1/Hi+uo/U+ODm7g4I6gULrCP+/+laT8xAsA== +"@babel/preset-env@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.4.3.tgz#e71e16e123dc0fbf65a52cbcbcefd072fbd02880" + integrity sha512-FYbZdV12yHdJU5Z70cEg0f6lvtpZ8jFSDakTm7WXeJbLXh4R0ztGEu/SW7G1nJ2ZvKwDhz8YrbA84eYyprmGqw== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-async-generator-functions" "^7.2.0" "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.4.0" + "@babel/plugin-proposal-object-rest-spread" "^7.4.3" "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.0" "@babel/plugin-syntax-async-generators" "^7.2.0" @@ -590,41 +673,44 @@ "@babel/plugin-transform-async-to-generator" "^7.4.0" "@babel/plugin-transform-block-scoped-functions" "^7.2.0" "@babel/plugin-transform-block-scoping" "^7.4.0" - "@babel/plugin-transform-classes" "^7.4.0" + "@babel/plugin-transform-classes" "^7.4.3" "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.4.0" - "@babel/plugin-transform-dotall-regex" "^7.2.0" + "@babel/plugin-transform-destructuring" "^7.4.3" + "@babel/plugin-transform-dotall-regex" "^7.4.3" "@babel/plugin-transform-duplicate-keys" "^7.2.0" "@babel/plugin-transform-exponentiation-operator" "^7.2.0" - "@babel/plugin-transform-for-of" "^7.4.0" - "@babel/plugin-transform-function-name" "^7.2.0" + "@babel/plugin-transform-for-of" "^7.4.3" + "@babel/plugin-transform-function-name" "^7.4.3" "@babel/plugin-transform-literals" "^7.2.0" + "@babel/plugin-transform-member-expression-literals" "^7.2.0" "@babel/plugin-transform-modules-amd" "^7.2.0" - "@babel/plugin-transform-modules-commonjs" "^7.4.0" + "@babel/plugin-transform-modules-commonjs" "^7.4.3" "@babel/plugin-transform-modules-systemjs" "^7.4.0" "@babel/plugin-transform-modules-umd" "^7.2.0" "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.2" "@babel/plugin-transform-new-target" "^7.4.0" "@babel/plugin-transform-object-super" "^7.2.0" - "@babel/plugin-transform-parameters" "^7.4.0" - "@babel/plugin-transform-regenerator" "^7.4.0" + "@babel/plugin-transform-parameters" "^7.4.3" + "@babel/plugin-transform-property-literals" "^7.2.0" + "@babel/plugin-transform-regenerator" "^7.4.3" + "@babel/plugin-transform-reserved-words" "^7.2.0" "@babel/plugin-transform-shorthand-properties" "^7.2.0" "@babel/plugin-transform-spread" "^7.2.0" "@babel/plugin-transform-sticky-regex" "^7.2.0" "@babel/plugin-transform-template-literals" "^7.2.0" "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.2.0" + "@babel/plugin-transform-unicode-regex" "^7.4.3" "@babel/types" "^7.4.0" - browserslist "^4.4.2" + browserslist "^4.5.2" core-js-compat "^3.0.0" invariant "^2.2.2" js-levenshtein "^1.1.3" - semver "^5.3.0" + semver "^5.5.0" -"@babel/runtime@^7.4.2": - version "7.4.2" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.2.tgz#f5ab6897320f16decd855eed70b705908a313fe8" - integrity sha512-7Bl2rALb7HpvXFL7TETNzKSAeBVCPHELzc0C//9FCxN8nsiueWSJBqaF+2oIJScyILStASR/Cx5WMkXGYTiJFA== +"@babel/runtime@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.3.tgz#79888e452034223ad9609187a0ad1fe0d2ad4bdc" + integrity sha512-9lsJwJLxDh/T3Q3SZszfWOTkk3pHbkmH+3KY+zwIDmsNlxsumuhS2TH3NIpktU4kNvfzy+k3eLT7aTJSPTo0OA== dependencies: regenerator-runtime "^0.13.2" @@ -652,6 +738,21 @@ globals "^11.1.0" lodash "^4.17.11" +"@babel/traverse@^7.4.3": + version "7.4.3" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.3.tgz#1a01f078fc575d589ff30c0f71bf3c3d9ccbad84" + integrity sha512-HmA01qrtaCwwJWpSKpA948cBvU5BrmviAief/b3AVw936DtcdsTexlbyzNuDnthwhOQ37xshn7hvQaEQk7ISYQ== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.4.0" + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.4.0" + "@babel/parser" "^7.4.3" + "@babel/types" "^7.4.0" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.11" + "@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.3.0", "@babel/types@^7.4.0": version "7.4.0" resolved "https://registry.npmjs.org/@babel/types/-/types-7.4.0.tgz#670724f77d24cce6cc7d8cf64599d511d164894c" @@ -674,42 +775,41 @@ resolved "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== -"@jest/console@^24.3.0": - version "24.3.0" - resolved "https://registry.npmjs.org/@jest/console/-/console-24.3.0.tgz#7bd920d250988ba0bf1352c4493a48e1cb97671e" - integrity sha512-NaCty/OOei6rSDcbPdMiCbYCI0KGFGPgGO6B09lwWt5QTxnkuhKYET9El5u5z1GAcSxkQmSMtM63e24YabCWqA== +"@jest/console@^24.7.1": + version "24.7.1" + resolved "https://registry.npmjs.org/@jest/console/-/console-24.7.1.tgz#32a9e42535a97aedfe037e725bd67e954b459545" + integrity sha512-iNhtIy2M8bXlAOULWVTUxmnelTLFneTNEkHCgPmgd+zNwy9zVddJ6oS5rZ9iwoscNdT5mMwUd0C51v/fSlzItg== dependencies: "@jest/source-map" "^24.3.0" - "@types/node" "*" chalk "^2.0.1" slash "^2.0.0" -"@jest/core@^24.5.0": - version "24.5.0" - resolved "https://registry.npmjs.org/@jest/core/-/core-24.5.0.tgz#2cefc6a69e9ebcae1da8f7c75f8a257152ba1ec0" - integrity sha512-RDZArRzAs51YS7dXG1pbXbWGxK53rvUu8mCDYsgqqqQ6uSOaTjcVyBl2Jce0exT2rSLk38ca7az7t2f3b0/oYQ== +"@jest/core@^24.7.1": + version "24.7.1" + resolved "https://registry.npmjs.org/@jest/core/-/core-24.7.1.tgz#6707f50db238d0c5988860680e2e414df0032024" + integrity sha512-ivlZ8HX/FOASfHcb5DJpSPFps8ydfUYzLZfgFFqjkLijYysnIEOieg72YRhO4ZUB32xu40hsSMmaw+IGYeKONA== dependencies: - "@jest/console" "^24.3.0" - "@jest/reporters" "^24.5.0" - "@jest/test-result" "^24.5.0" - "@jest/transform" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/console" "^24.7.1" + "@jest/reporters" "^24.7.1" + "@jest/test-result" "^24.7.1" + "@jest/transform" "^24.7.1" + "@jest/types" "^24.7.0" ansi-escapes "^3.0.0" chalk "^2.0.1" exit "^0.1.2" graceful-fs "^4.1.15" - jest-changed-files "^24.5.0" - jest-config "^24.5.0" - jest-haste-map "^24.5.0" - jest-message-util "^24.5.0" + jest-changed-files "^24.7.0" + jest-config "^24.7.1" + jest-haste-map "^24.7.1" + jest-message-util "^24.7.1" jest-regex-util "^24.3.0" - jest-resolve-dependencies "^24.5.0" - jest-runner "^24.5.0" - jest-runtime "^24.5.0" - jest-snapshot "^24.5.0" - jest-util "^24.5.0" - jest-validate "^24.5.0" - jest-watcher "^24.5.0" + jest-resolve-dependencies "^24.7.1" + jest-runner "^24.7.1" + jest-runtime "^24.7.1" + jest-snapshot "^24.7.1" + jest-util "^24.7.1" + jest-validate "^24.7.0" + jest-watcher "^24.7.1" micromatch "^3.1.10" p-each-series "^1.0.0" pirates "^4.0.1" @@ -717,36 +817,34 @@ rimraf "^2.5.4" strip-ansi "^5.0.0" -"@jest/environment@^24.5.0": - version "24.5.0" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-24.5.0.tgz#a2557f7808767abea3f9e4cc43a172122a63aca8" - integrity sha512-tzUHR9SHjMXwM8QmfHb/EJNbF0fjbH4ieefJBvtwO8YErLTrecc1ROj0uo2VnIT6SlpEGZnvdCK6VgKYBo8LsA== +"@jest/environment@^24.7.1": + version "24.7.1" + resolved "https://registry.npmjs.org/@jest/environment/-/environment-24.7.1.tgz#9b9196bc737561f67ac07817d4c5ece772e33135" + integrity sha512-wmcTTYc4/KqA+U5h1zQd5FXXynfa7VGP2NfF+c6QeGJ7c+2nStgh65RQWNX62SC716dTtqheTRrZl0j+54oGHw== dependencies: - "@jest/fake-timers" "^24.5.0" - "@jest/transform" "^24.5.0" - "@jest/types" "^24.5.0" - "@types/node" "*" - jest-mock "^24.5.0" + "@jest/fake-timers" "^24.7.1" + "@jest/transform" "^24.7.1" + "@jest/types" "^24.7.0" + jest-mock "^24.7.0" -"@jest/fake-timers@^24.5.0": - version "24.5.0" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.5.0.tgz#4a29678b91fd0876144a58f8d46e6c62de0266f0" - integrity sha512-i59KVt3QBz9d+4Qr4QxsKgsIg+NjfuCjSOWj3RQhjF5JNy+eVJDhANQ4WzulzNCHd72srMAykwtRn5NYDGVraw== +"@jest/fake-timers@^24.7.1": + version "24.7.1" + resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.7.1.tgz#56e5d09bdec09ee81050eaff2794b26c71d19db2" + integrity sha512-4vSQJDKfR2jScOe12L9282uiwuwQv9Lk7mgrCSZHA9evB9efB/qx8i0KJxsAKtp8fgJYBJdYY7ZU6u3F4/pyjA== dependencies: - "@jest/types" "^24.5.0" - "@types/node" "*" - jest-message-util "^24.5.0" - jest-mock "^24.5.0" + "@jest/types" "^24.7.0" + jest-message-util "^24.7.1" + jest-mock "^24.7.0" -"@jest/reporters@^24.5.0": - version "24.5.0" - resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-24.5.0.tgz#9363a210d0daa74696886d9cb294eb8b3ad9b4d9" - integrity sha512-vfpceiaKtGgnuC3ss5czWOihKOUSyjJA4M4udm6nH8xgqsuQYcyDCi4nMMcBKsHXWgz9/V5G7iisnZGfOh1w6Q== +"@jest/reporters@^24.7.1": + version "24.7.1" + resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-24.7.1.tgz#38ac0b096cd691bbbe3051ddc25988d42e37773a" + integrity sha512-bO+WYNwHLNhrjB9EbPL4kX/mCCG4ZhhfWmO3m4FSpbgr7N83MFejayz30kKjgqr7smLyeaRFCBQMbXpUgnhAJw== dependencies: - "@jest/environment" "^24.5.0" - "@jest/test-result" "^24.5.0" - "@jest/transform" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/environment" "^24.7.1" + "@jest/test-result" "^24.7.1" + "@jest/transform" "^24.7.1" + "@jest/types" "^24.7.0" chalk "^2.0.1" exit "^0.1.2" glob "^7.1.2" @@ -754,11 +852,11 @@ istanbul-lib-coverage "^2.0.2" istanbul-lib-instrument "^3.0.1" istanbul-lib-source-maps "^3.0.1" - jest-haste-map "^24.5.0" - jest-resolve "^24.5.0" - jest-runtime "^24.5.0" - jest-util "^24.5.0" - jest-worker "^24.4.0" + jest-haste-map "^24.7.1" + jest-resolve "^24.7.1" + jest-runtime "^24.7.1" + jest-util "^24.7.1" + jest-worker "^24.6.0" node-notifier "^5.2.1" slash "^2.0.0" source-map "^0.6.0" @@ -773,42 +871,52 @@ graceful-fs "^4.1.15" source-map "^0.6.0" -"@jest/test-result@^24.5.0": - version "24.5.0" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-24.5.0.tgz#ab66fb7741a04af3363443084e72ea84861a53f2" - integrity sha512-u66j2vBfa8Bli1+o3rCaVnVYa9O8CAFZeqiqLVhnarXtreSXG33YQ6vNYBogT7+nYiFNOohTU21BKiHlgmxD5A== +"@jest/test-result@^24.7.1": + version "24.7.1" + resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-24.7.1.tgz#19eacdb29a114300aed24db651e5d975f08b6bbe" + integrity sha512-3U7wITxstdEc2HMfBX7Yx3JZgiNBubwDqQMh+BXmZXHa3G13YWF3p6cK+5g0hGkN3iufg/vGPl3hLxQXD74Npg== dependencies: - "@jest/console" "^24.3.0" - "@jest/types" "^24.5.0" - "@types/istanbul-lib-coverage" "^1.1.0" + "@jest/console" "^24.7.1" + "@jest/types" "^24.7.0" + "@types/istanbul-lib-coverage" "^2.0.0" -"@jest/transform@^24.5.0": - version "24.5.0" - resolved "https://registry.npmjs.org/@jest/transform/-/transform-24.5.0.tgz#6709fc26db918e6af63a985f2cc3c464b4cf99d9" - integrity sha512-XSsDz1gdR/QMmB8UCKlweAReQsZrD/DK7FuDlNo/pE8EcKMrfi2kqLRk8h8Gy/PDzgqJj64jNEzOce9pR8oj1w== +"@jest/test-sequencer@^24.7.1": + version "24.7.1" + resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.7.1.tgz#9c18e428e1ad945fa74f6233a9d35745ca0e63e0" + integrity sha512-84HQkCpVZI/G1zq53gHJvSmhUer4aMYp9tTaffW28Ih5OxfCg8hGr3nTSbL1OhVDRrFZwvF+/R9gY6JRkDUpUA== + dependencies: + "@jest/test-result" "^24.7.1" + jest-haste-map "^24.7.1" + jest-runner "^24.7.1" + jest-runtime "^24.7.1" + +"@jest/transform@^24.7.1": + version "24.7.1" + resolved "https://registry.npmjs.org/@jest/transform/-/transform-24.7.1.tgz#872318f125bcfab2de11f53b465ab1aa780789c2" + integrity sha512-EsOUqP9ULuJ66IkZQhI5LufCHlTbi7hrcllRMUEV/tOgqBVQi93+9qEvkX0n8mYpVXQ8VjwmICeRgg58mrtIEw== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^24.5.0" + "@jest/types" "^24.7.0" babel-plugin-istanbul "^5.1.0" chalk "^2.0.1" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.1.15" - jest-haste-map "^24.5.0" + jest-haste-map "^24.7.1" jest-regex-util "^24.3.0" - jest-util "^24.5.0" + jest-util "^24.7.1" micromatch "^3.1.10" realpath-native "^1.1.0" slash "^2.0.0" source-map "^0.6.1" write-file-atomic "2.4.1" -"@jest/types@^24.5.0": - version "24.5.0" - resolved "https://registry.npmjs.org/@jest/types/-/types-24.5.0.tgz#feee214a4d0167b0ca447284e95a57aa10b3ee95" - integrity sha512-kN7RFzNMf2R8UDadPOl6ReyI+MT8xfqRuAnuVL+i4gwjv/zubdDK+EDeLHYwq1j0CSSR2W/MmgaRlMZJzXdmVA== +"@jest/types@^24.7.0": + version "24.7.0" + resolved "https://registry.npmjs.org/@jest/types/-/types-24.7.0.tgz#c4ec8d1828cdf23234d9b4ee31f5482a3f04f48b" + integrity sha512-ipJUa2rFWiKoBqMKP63Myb6h9+iT3FHRTF2M8OR6irxWzItisa8i4dcSg14IbvmXUnBlHBlUQPYUHWyX3UPpYA== dependencies: - "@types/istanbul-lib-coverage" "^1.1.0" + "@types/istanbul-lib-coverage" "^2.0.0" "@types/yargs" "^12.0.9" "@lerna/add@3.13.1": @@ -1461,20 +1569,20 @@ error-stack-parser "^2.0.0" string-width "^2.0.0" -"@nuxt/loading-screen@^0.1.2": - version "0.1.2" - resolved "https://registry.npmjs.org/@nuxt/loading-screen/-/loading-screen-0.1.2.tgz#2438ce21fcc1ae33cbd5168430b763c7ee93626d" - integrity sha512-IsSySwZ5nHF34RUdsTEElvx/dLP8uBDTek1xL5vuqgBL+4hsanbBPMhz2B9XSkCLM0wrqKORaZAfY1ZYXmHajA== +"@nuxt/loading-screen@^0.2.0": + version "0.2.0" + resolved "https://registry.npmjs.org/@nuxt/loading-screen/-/loading-screen-0.2.0.tgz#fbdfd75814a9935f1827574f2b4c924ac3de81c9" + integrity sha512-QprkUsdOMqwQuw4OeQUX/Fj4LOyLSAAi0aa6mxxpITjfLScTp6Bx2Z+flG0cU19w0L2WSZtdqfQtjY6tYaTVuw== dependencies: connect "^3.6.6" fs-extra "^7.0.1" serve-static "^1.13.2" ws "^6.2.0" -"@nuxt/opencollective@^0.2.1": - version "0.2.1" - resolved "https://registry.npmjs.org/@nuxt/opencollective/-/opencollective-0.2.1.tgz#8290f1220072637e575c3935733719a78ad2d056" - integrity sha512-NP2VSUKRFGutbhWeKgIU0MnY4fmpH8UWxxwTJNPurCQ5BeWhOxp+Gp5ltO39P/Et/J2GYGb3+ALNqZJ+5cGBBw== +"@nuxt/opencollective@^0.2.2": + version "0.2.2" + resolved "https://registry.npmjs.org/@nuxt/opencollective/-/opencollective-0.2.2.tgz#17adc7d380457379cd14cbb64a435ea196cc4a6e" + integrity sha512-ie50SpS47L+0gLsW4yP23zI/PtjsDRglyozX2G09jeiUazC1AJlGPZo0JUs9iuCDUoIgsDEf66y7/bSfig0BpA== dependencies: chalk "^2.4.1" consola "^2.3.0" @@ -1522,9 +1630,9 @@ universal-user-agent "^2.0.1" "@octokit/rest@^16.16.0": - version "16.20.0" - resolved "https://registry.npmjs.org/@octokit/rest/-/rest-16.20.0.tgz#54462b6e540b5d40063850d370ce8e084cf127d6" - integrity sha512-tN5j64P6QymlMzKo94DG1LRNHCwMnLg5poZlVhsCfkHhEWKpofZ1qBDr2/0w6qDLav4EA1XXMmZdNpvGhc9BDQ== + version "16.22.0" + resolved "https://registry.npmjs.org/@octokit/rest/-/rest-16.22.0.tgz#461770ae6f8b5a50a85f7d1b2752645c3e01ba6a" + integrity sha512-1PGUwDxLuG7AZsiKaIdxJr918jcZ1FtPX0kGqxoUlssn+fIzzlwQY623gnM8vY9c9jfASD+QUQmflHh3FwBthw== dependencies: "@octokit/request" "2.4.2" before-after-hook "^1.4.0" @@ -1543,11 +1651,6 @@ resolved "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== -"@types/babel-types@*", "@types/babel-types@^7.0.0": - version "7.0.6" - resolved "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.6.tgz#a7cfaaeee96e90c4c54da0e580aaff3f4cffacac" - integrity sha512-8zYZyy2kgwBXdz2j8Ix7LOghGiZbOiHf6vqmmBX1r76FdAzVNv7cODyJTEglUWiOdRnXh0s/o58neUwv5vaitQ== - "@types/babel__core@^7.1.0": version "7.1.0" resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.0.tgz#710f2487dda4dcfd010ca6abb2b4dc7394365c51" @@ -1581,13 +1684,6 @@ dependencies: "@babel/types" "^7.3.0" -"@types/babylon@^6.16.2": - version "6.16.5" - resolved "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.5.tgz#1c5641db69eb8cdf378edd25b4be7754beeb48b4" - integrity sha512-xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w== - dependencies: - "@types/babel-types" "*" - "@types/body-parser@*": version "1.17.0" resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.0.tgz#9f5c9d9bd04bb54be32d5eb9fc0d8c974e6cf58c" @@ -1604,9 +1700,9 @@ chokidar "*" "@types/clean-css@*": - version "4.2.0" - resolved "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.0.tgz#785749d3ba799ae2cd3efcb3ce622781efd00340" - integrity sha512-P+gDCIBAXZ/Q5e9d/Z9Rtn16P5Pr1YIO3gZcY7ZvaQ9ErgmOYtFQlLHZ2P/xcrIyN8TEZrI03EZmdmv1154sjA== + version "4.2.1" + resolved "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.1.tgz#cb0134241ec5e6ede1b5344bc829668fd9871a8d" + integrity sha512-A1HQhQ0hkvqqByJMgg+Wiv9p9XdoYEzuwm11SVo1mX2/4PSdhjcrUlilJQoqLscIheC51t1D5g+EFWCXZ2VTQQ== dependencies: "@types/node" "*" @@ -1662,10 +1758,10 @@ "@types/relateurl" "*" "@types/uglify-js" "*" -"@types/istanbul-lib-coverage@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.0.tgz#2cc2ca41051498382b43157c8227fea60363f94a" - integrity sha512-ohkhb9LehJy+PA40rDtGAji61NCgdtKLAlFoYp4cnuuQEswwdK3vz9SOIkkyc3wrk8dzjphQApNs56yyXLStaQ== +"@types/istanbul-lib-coverage@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.0.tgz#1eb8c033e98cf4e1a4cedcaf8bcafe8cb7591e85" + integrity sha512-eAtOAFZefEnfJiRFQBGw1eYqa5GTLCZ1y86N0XSI/D6EB+E8z6VPV/UL7Gi5UEclFqoQk+6NRqEDsfmDLXn8sg== "@types/loglevel@*": version "1.5.4" @@ -1684,10 +1780,15 @@ resolved "https://registry.npmjs.org/@types/mime/-/mime-2.0.1.tgz#dc488842312a7f075149312905b5e3c0b054c79d" integrity sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw== -"@types/node@*", "@types/node@^11.11.4", "@types/node@^11.9.5": - version "11.11.4" - resolved "https://registry.npmjs.org/@types/node/-/node-11.11.4.tgz#8808bd5a82bbf6f5d412eff1c228d178e7c24bb3" - integrity sha512-02tIL+QIi/RW4E5xILdoAMjeJ9kYq5t5S2vciUdFPXv/ikFTb0zK8q9vXkg4+WAJuYXGiVT1H28AkD2C+IkXVw== +"@types/node@*", "@types/node@^11.11.6": + version "11.12.2" + resolved "https://registry.npmjs.org/@types/node/-/node-11.12.2.tgz#d7f302e74b10e9801d52852137f652d9ee235da8" + integrity sha512-c82MtnqWB/CqqK7/zit74Ob8H1dBdV7bK+BcErwtXbe0+nUGkgzq5NTDmRW/pAv2lFtmeNmW95b0zK2hxpeklg== + +"@types/node@^11.13.0": + version "11.13.0" + resolved "https://registry.npmjs.org/@types/node/-/node-11.13.0.tgz#b0df8d6ef9b5001b2be3a94d909ce3c29a80f9e1" + integrity sha512-rx29MMkRdVmzunmiA4lzBYJNnXsW/PhG4kMBy2ATsYaDjGGR75dCFEVVROKpNwlVdcUX3xxlghKQOeDPBJobng== "@types/optimize-css-assets-webpack-plugin@^1.3.4": version "1.3.4" @@ -1769,7 +1870,7 @@ "@types/connect" "*" "@types/webpack" "*" -"@types/webpack@*", "@types/webpack@^4.4.26": +"@types/webpack@*": version "4.4.26" resolved "https://registry.npmjs.org/@types/webpack/-/webpack-4.4.26.tgz#b52f605351f2ed60e6ce24fa7df39ab7abd03470" integrity sha512-vs8LjgEZUQTBxotXbMf8s4jgykozkqjv6P0JRi+1BLh0n7LQUkMXfvsoPb5U/dBL1ay5Lu0c46G6FRmAZBhAUA== @@ -1780,73 +1881,84 @@ "@types/uglify-js" "*" source-map "^0.6.0" +"@types/webpack@^4.4.27": + version "4.4.27" + resolved "https://registry.npmjs.org/@types/webpack/-/webpack-4.4.27.tgz#8bb9429185977a6b3b9e6e6132f561066aa7e7c2" + integrity sha512-xSll/4UXnLQ0xjdAoTRIFxA6NPC2abJ8nHxRH6SqTymHrfGCc8er7qH0npwCP8q3VFoJh2Hjz1wH8oTjwx9/jQ== + dependencies: + "@types/anymatch" "*" + "@types/node" "*" + "@types/tapable" "*" + "@types/uglify-js" "*" + source-map "^0.6.0" + "@types/yargs@^12.0.2", "@types/yargs@^12.0.9": version "12.0.10" resolved "https://registry.npmjs.org/@types/yargs/-/yargs-12.0.10.tgz#17a8ec65cd8e88f51b418ceb271af18d3137df67" integrity sha512-WsVzTPshvCSbHThUduGGxbmnwcpkgSctHGHTqzWyFg4lYAuV5qXlyFPOsP3OWqCINfmg/8VXP+zJaa4OxEsBQQ== -"@vue/babel-helper-vue-jsx-merge-props@^1.0.0-beta.2": - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.0.0-beta.2.tgz#f3e20d77b89ddb7a4b9b7a75372f05cd3ac22d92" - integrity sha512-Yj92Q1GcGjjctecBfnBmVqKSlMdyZaVq10hlZB4HSd1DJgu4cWgpEImJSzcJRUCZmas6UigwE7f4IjJuQs+JvQ== +"@vue/babel-helper-vue-jsx-merge-props@^1.0.0-beta.3": + version "1.0.0-beta.3" + resolved "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.0.0-beta.3.tgz#e4c2e7125b3e0d2a9d493e457850b2abb0fd3cad" + integrity sha512-cbFQnd3dDPsfWuxbWW2phynX2zsckwC4GfAkcE1QH1lZL2ZAD2V97xY3BmvTowMkjeFObRKQt1P3KKA6AoB0hQ== -"@vue/babel-plugin-transform-vue-jsx@^1.0.0-beta.2": - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.0.0-beta.2.tgz#6f7903fe66a34a02163f418c426cf419e862d97e" - integrity sha512-fvAymRZAPHitomRE+jIipWRj0STXNSMqeOSdOFu9Ffjqg9WGOxSdCjORxexManfZ2y5QDv7gzI1xfgprsK3nlw== +"@vue/babel-plugin-transform-vue-jsx@^1.0.0-beta.3": + version "1.0.0-beta.3" + resolved "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.0.0-beta.3.tgz#a1a44e801d8ed615e49f145ef1b3eaca2c16e2e6" + integrity sha512-yn+j2B/2aEagaxXrMSK3qcAJnlidfXg9v+qmytqrjUXc4zfi8QVC/b4zCev1FDmTip06/cs/csENA4law6Xhpg== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0-beta.2" + "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0-beta.3" html-tags "^2.0.0" lodash.kebabcase "^4.1.1" svg-tags "^1.0.0" -"@vue/babel-preset-jsx@^1.0.0-beta.2": - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.0.0-beta.2.tgz#3e5dc2b73da58391c1c7327c2bd2ef154fe4e46e" - integrity sha512-nZoAKBR/h6iPMQ66ieQcIdlpPBmqhtUUcgjBS541jIVxSog1rwzrc00jlsuecLonzUMWPU0PabyitsG74vhN1w== +"@vue/babel-preset-jsx@^1.0.0-beta.3": + version "1.0.0-beta.3" + resolved "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.0.0-beta.3.tgz#15c584bd62c0286a80f0196749ae38cde5cd703b" + integrity sha512-qMKGRorTI/0nE83nLEM7MyQiBZUqc62sZyjkBdVaaU7S61MHI8RKHPtbLMMZlWXb2NCJ0fQci8xJWUK5JE+TFA== dependencies: - "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0-beta.2" - "@vue/babel-plugin-transform-vue-jsx" "^1.0.0-beta.2" - "@vue/babel-sugar-functional-vue" "^1.0.0-beta.2" - "@vue/babel-sugar-inject-h" "^1.0.0-beta.2" - "@vue/babel-sugar-v-model" "^1.0.0-beta.2" - "@vue/babel-sugar-v-on" "^1.0.0-beta.2" + "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0-beta.3" + "@vue/babel-plugin-transform-vue-jsx" "^1.0.0-beta.3" + "@vue/babel-sugar-functional-vue" "^1.0.0-beta.3" + "@vue/babel-sugar-inject-h" "^1.0.0-beta.3" + "@vue/babel-sugar-v-model" "^1.0.0-beta.3" + "@vue/babel-sugar-v-on" "^1.0.0-beta.3" -"@vue/babel-sugar-functional-vue@^1.0.0-beta.2": - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.0.0-beta.2.tgz#8831f686e7614f282d5170b902483ef538deef38" - integrity sha512-5qvi4hmExgjtrESDk0vflL69dIxkDAukJcYH9o4663E8Nh12Jpbmr+Ja8WmgkAPtTVhk90UVcVUFCCZLHBmhkQ== +"@vue/babel-sugar-functional-vue@^1.0.0-beta.3": + version "1.0.0-beta.3" + resolved "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.0.0-beta.3.tgz#41a855786971dacbbe8044858eefe98de089bf12" + integrity sha512-CBIa0sQWn3vfBS2asfTgv0WwdyKvNTKtE/cCfulZ7MiewLBh0RlvvSmdK9BIMTiHErdeZNSGUGlU6JuSHLyYkQ== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" -"@vue/babel-sugar-inject-h@^1.0.0-beta.2": - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.0.0-beta.2.tgz#5f92f994bf4b4126fad8633f554e8a426b51b413" - integrity sha512-qGXZ6yE+1trk82xCVJ9j3shsgI+R2ePj3+o8b2Ee7JNaRqQvMfTwpgx5BRlk4q1+CTjvYexdqBS+q4Kg7sSxcg== +"@vue/babel-sugar-inject-h@^1.0.0-beta.3": + version "1.0.0-beta.3" + resolved "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.0.0-beta.3.tgz#be1d00b74a1a89fed35a9b1415a738c36f125966" + integrity sha512-HKMBMmFfdK9GBp3rX2bHIwILBdgc5F3ahmCB72keJxzaAQrgDAnD+ho70exUge+inAGlNF34WsQcGPElTf9QZg== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" -"@vue/babel-sugar-v-model@^1.0.0-beta.2": - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.0.0-beta.2.tgz#051d3ae3ef5e70d514e09058ec5790f6a42e8c28" - integrity sha512-63US3IMEtATJzzK2le/Na53Sk2bp3LHfwZ8eMFwbTaz6e2qeV9frBl3ZYaha64ghT4IDSbrDXUmm0J09EAzFfA== +"@vue/babel-sugar-v-model@^1.0.0-beta.3": + version "1.0.0-beta.3" + resolved "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.0.0-beta.3.tgz#ea935b0e08bf58c125a1349b819156059590993c" + integrity sha512-et39eTEh7zW4wfZoSl9Jf0/n2r9OTT8U02LtSbXsjgYcqaDQFusN0+n7tw4bnOqvnnSVjEp7bVsQCWwykC3Wgg== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0-beta.2" - "@vue/babel-plugin-transform-vue-jsx" "^1.0.0-beta.2" + "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0-beta.3" + "@vue/babel-plugin-transform-vue-jsx" "^1.0.0-beta.3" camelcase "^5.0.0" html-tags "^2.0.0" svg-tags "^1.0.0" -"@vue/babel-sugar-v-on@^1.0.0-beta.2": - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.0.0-beta.2.tgz#3e2d122e229b10017f091d178346b601d9245260" - integrity sha512-XH/m3k11EKdMY0MrTg4+hQv8BFM8juzHT95chYkgxDmvDdVJnSCuf9+mcysEJttWD4PVuUGN7EHoIWsIhC0dRw== +"@vue/babel-sugar-v-on@^1.0.0-beta.3": + version "1.0.0-beta.3" + resolved "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.0.0-beta.3.tgz#2f5fedb43883f603fe76010f253b85c7465855fe" + integrity sha512-F+GapxCiy50jf2Q2B4exw+KYBzlGdeKMAMW1Dbvb0Oa59SA0CH6tsUOIAsXb0A05jwwg/of0LaVeo+4aLefVxQ== dependencies: "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-plugin-transform-vue-jsx" "^1.0.0-beta.2" + "@vue/babel-plugin-transform-vue-jsx" "^1.0.0-beta.3" camelcase "^5.0.0" "@vue/component-compiler-utils@^2.4.0", "@vue/component-compiler-utils@^2.5.1": @@ -2066,13 +2178,6 @@ acorn-dynamic-import@^4.0.0: resolved "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== -acorn-globals@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" - integrity sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8= - dependencies: - acorn "^4.0.4" - acorn-globals@^4.1.0, acorn-globals@^4.3.0: version "4.3.0" resolved "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz#e3b6f8da3c1552a95ae627571f7dd6923bb54103" @@ -2091,16 +2196,6 @@ acorn-walk@^6.0.1, acorn-walk@^6.1.1: resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw== -acorn@^3.1.0: - version "3.3.0" - resolved "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" - integrity sha1-ReN/s56No/JbruP/U2niu18iAXo= - -acorn@^4.0.4, acorn@~4.0.2: - version "4.0.13" - resolved "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" - integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c= - acorn@^5.5.3: version "5.7.3" resolved "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" @@ -2145,15 +2240,6 @@ ajv@^6.1.0, ajv@^6.5.5, ajv@^6.9.1: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc= - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - alphanum-sort@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" @@ -2335,7 +2421,7 @@ arrify@^1.0.0, arrify@^1.0.1: resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -asap@^2.0.0, asap@~2.0.3: +asap@^2.0.0: version "2.0.6" resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= @@ -2448,16 +2534,16 @@ babel-eslint@^10.0.1: eslint-scope "3.7.1" eslint-visitor-keys "^1.0.0" -babel-jest@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-24.5.0.tgz#0ea042789810c2bec9065f7c8ab4dc18e1d28559" - integrity sha512-0fKCXyRwxFTJL0UXDJiT2xYxO9Lu2vBd9n+cC+eDjESzcVG3s2DRGAxbzJX21fceB1WYoBjAh8pQ83dKcl003g== +babel-jest@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-24.7.1.tgz#73902c9ff15a7dfbdc9994b0b17fcefd96042178" + integrity sha512-GPnLqfk8Mtt0i4OemjWkChi73A3ALs4w2/QbG64uAj8b5mmwzxc7jbJVRZt8NJkxi6FopVHog9S3xX6UJKb2qg== dependencies: - "@jest/transform" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/transform" "^24.7.1" + "@jest/types" "^24.7.0" "@types/babel__core" "^7.1.0" babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.3.0" + babel-preset-jest "^24.6.0" chalk "^2.4.2" slash "^2.0.0" @@ -2487,43 +2573,20 @@ babel-plugin-istanbul@^5.1.0: istanbul-lib-instrument "^3.0.0" test-exclude "^5.0.0" -babel-plugin-jest-hoist@^24.3.0: - version "24.3.0" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.3.0.tgz#f2e82952946f6e40bb0a75d266a3790d854c8b5b" - integrity sha512-nWh4N1mVH55Tzhx2isvUN5ebM5CDUvIpXPZYMRazQughie/EqGnbR+czzoQlhUmJG9pPJmYDRhvocotb2THl1w== +babel-plugin-jest-hoist@^24.6.0: + version "24.6.0" + resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.6.0.tgz#f7f7f7ad150ee96d7a5e8e2c5da8319579e78019" + integrity sha512-3pKNH6hMt9SbOv0F3WVmy5CWQ4uogS3k0GY5XLyQHJ9EGpAT9XWkFd2ZiXXtkwFHdAHa5j7w7kfxSP5lAIwu7w== dependencies: "@types/babel__traverse" "^7.0.6" -babel-preset-jest@^24.3.0: - version "24.3.0" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.3.0.tgz#db88497e18869f15b24d9c0e547d8e0ab950796d" - integrity sha512-VGTV2QYBa/Kn3WCOKdfS31j9qomaXSgJqi65B6o05/1GsJyj9LVhSljM9ro4S+IBGj/ENhNBuH9bpqzztKAQSw== +babel-preset-jest@^24.6.0: + version "24.6.0" + resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz#66f06136eefce87797539c0d63f1769cc3915984" + integrity sha512-pdZqLEdmy1ZK5kyRUfvBb2IfTPb2BUvIJczlPspS8fWmBQslNNDBqVfh7BW5leOVJMDZKzjD8XEyABTk6gQ5yw== dependencies: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.3.0" - -babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= - dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + babel-plugin-jest-hoist "^24.6.0" balanced-match@^1.0.0: version "1.0.0" @@ -2581,9 +2644,9 @@ big.js@^5.2.2: integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== binary-extensions@^1.0.0: - version "1.13.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz#9523e001306a32444b907423f1de2164222f6ab1" - integrity sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw== + version "1.13.1" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== block-stream@*: version "0.0.9" @@ -2737,13 +2800,22 @@ browserify-zlib@^0.2.0: pako "~1.0.5" browserslist@^4.0.0, browserslist@^4.4.2, browserslist@^4.5.1: - version "4.5.2" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.5.2.tgz#36ad281f040af684555a23c780f5c2081c752df0" - integrity sha512-zmJVLiKLrzko0iszd/V4SsjTaomFeoVzQGYYOYgRgsbh7WNh95RgDB0CmBdFWYs/3MyFSt69NypjL/h3iaddKQ== + version "4.5.3" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.5.3.tgz#969495c410314bc89f14e748505e58be968080f1" + integrity sha512-Tx/Jtrmh6vFg24AelzLwCaCq1IUJiMDM1x/LPzqbmbktF8Zo7F9ONUpOWsFK6TtdON95mSMaQUWqi0ilc8xM6g== dependencies: - caniuse-lite "^1.0.30000951" - electron-to-chromium "^1.3.116" - node-releases "^1.1.11" + caniuse-lite "^1.0.30000955" + electron-to-chromium "^1.3.122" + node-releases "^1.1.12" + +browserslist@^4.5.2: + version "4.5.4" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.5.4.tgz#166c4ecef3b51737a42436ea8002aeea466ea2c7" + integrity sha512-rAjx494LMjqKnMPhFkuLmLp8JWEX0o8ADTGeAbOqaF+XCvYLreZrG5uVjnPBlAQ8REZK4pzXGvp0bWgrFtKaag== + dependencies: + caniuse-lite "^1.0.30000955" + electron-to-chromium "^1.3.122" + node-releases "^1.1.13" bs-logger@0.x: version "0.2.6" @@ -2893,7 +2965,7 @@ callsites@^3.0.0: resolved "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3" integrity sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw== -camel-case@3.0.x: +camel-case@3.0.x, camel-case@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= @@ -2918,11 +2990,6 @@ camelcase-keys@^4.0.0: map-obj "^2.0.0" quick-lru "^1.0.0" -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk= - camelcase@^2.0.0: version "2.1.1" resolved "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" @@ -2948,10 +3015,15 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000939, caniuse-lite@^1.0.30000947, caniuse-lite@^1.0.30000951: - version "1.0.30000951" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000951.tgz#c7c2fd4d71080284c8677dd410368df8d83688fe" - integrity sha512-eRhP+nQ6YUkIcNQ6hnvdhMkdc7n3zadog0KXNRxAZTT2kHjUb1yGn71OrPhSn8MOvlX97g5CR97kGVj8fMsXWg== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000939, caniuse-lite@^1.0.30000947, caniuse-lite@^1.0.30000955: + version "1.0.30000955" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000955.tgz#360fdb9a1e41d6dd996130411334e44a39e4446d" + integrity sha512-6AwmIKgqCYfDWWadRkAuZSHMQP4Mmy96xAXEdRBlN/luQhlRYOKgwOlZ9plpCOsVbBuqbTmGqDK3JUM/nlr8CA== + +caniuse-lite@^1.0.30000957: + version "1.0.30000957" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000957.tgz#fb1026bf184d7d62c685205358c3b24b9e29f7b3" + integrity sha512-8wxNrjAzyiHcLXN/iunskqQnJquQQ6VX8JHfW5kLgAPRSiSuKZiNfmIkP5j7jgyXqAQBSoXyJxfnbCFS0ThSiQ== capture-exit@^2.0.0: version "2.0.0" @@ -2965,14 +3037,6 @@ caseless@~0.12.0: resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60= - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - chalk@^1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -2993,13 +3057,6 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.3 escape-string-regexp "^1.0.5" supports-color "^5.3.0" -character-parser@^2.1.1: - version "2.2.0" - resolved "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz#c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0" - integrity sha1-x84o821LzZdE5f/CxfzeHHMmH8A= - dependencies: - is-regex "^1.0.3" - chardet@^0.7.0: version "0.7.0" resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" @@ -3022,10 +3079,10 @@ cheerio@^1.0.0-rc.2: lodash "^4.15.0" parse5 "^3.0.1" -chokidar@*, chokidar@^2.0.2, chokidar@^2.0.4, chokidar@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.1.2.tgz#9c23ea40b01638439e0513864d362aeacc5ad058" - integrity sha512-IwXUx0FXc5ibYmPC2XeEj5mpXoV66sR+t3jqu2NS2GYwCktt3KF1/Qqjws/NkegajBA4RbZ5+DDwlOiJsxDHEg== +chokidar@*, chokidar@^2.0.2, chokidar@^2.0.4, chokidar@^2.1.5: + version "2.1.5" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.1.5.tgz#0ae8434d962281a5f56c72869e79cb6d9d86ad4d" + integrity sha512-i0TprVWp+Kj4WRPtInjexJ8Q+BqTE909VpH8xVhXrJkoc5QC8VO9TryGOqTr+2hljzc1sC62t22h5tZePodM/A== dependencies: anymatch "^2.0.0" async-each "^1.0.1" @@ -3037,7 +3094,7 @@ chokidar@*, chokidar@^2.0.2, chokidar@^2.0.4, chokidar@^2.1.2: normalize-path "^3.0.0" path-is-absolute "^1.0.0" readdirp "^2.2.1" - upath "^1.1.0" + upath "^1.1.1" optionalDependencies: fsevents "^1.2.7" @@ -3081,7 +3138,7 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -clean-css@4.2.x, clean-css@^4.1.11: +clean-css@4.2.x, clean-css@^4.2.1: version "4.2.1" resolved "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g== @@ -3105,15 +3162,6 @@ cli-width@^2.0.0: resolved "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE= - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - cliui@^4.0.0: version "4.1.0" resolved "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" @@ -3155,10 +3203,10 @@ code-point-at@^1.0.0: resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= -codecov@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/codecov/-/codecov-3.2.0.tgz#4465ee19884528092d8c313e1f9e4bdc7d3065cd" - integrity sha512-3NJvNARXxilqnqVfgzDHyVrF4oeVgaYW1c1O6Oi5mn93exE7HTSSFNiYdwojWW6IwrCZABJ8crpNbKoo9aUHQw== +codecov@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/codecov/-/codecov-3.3.0.tgz#7bf337b3f7b0474606b5c31c56dd9e44e395e15d" + integrity sha512-S70c3Eg9SixumOvxaKE/yKUxb9ihu/uebD9iPO2IR73IdP4i6ZzjXEULj3d0HeyWPr0DqBfDkjNBWxURjVO5hw== dependencies: argv "^0.0.2" ignore-walk "^3.0.1" @@ -3313,10 +3361,10 @@ connect@^3.6.6: parseurl "~1.3.2" utils-merge "1.0.1" -consola@^2.0.0-1, consola@^2.3.0, consola@^2.5.6, consola@^2.5.7: - version "2.5.7" - resolved "https://registry.npmjs.org/consola/-/consola-2.5.7.tgz#72b313ac9039b181c8adc065c1c092effa417122" - integrity sha512-KZteEB71fuSoSDgJoYEo/dIvwofWMU/bI/n+wusLYHPp+c7KcxBGZ0P8CzTCko2Jp0xsrbLjmLuUo4jyIWa6vQ== +consola@^2.0.0-1, consola@^2.3.0, consola@^2.5.6, consola@^2.5.8: + version "2.5.8" + resolved "https://registry.npmjs.org/consola/-/consola-2.5.8.tgz#26afe2ab7f560d285a88578eaae9d9be18029ba9" + integrity sha512-fYv1M0rNJw4h0CZUx8PX02Px7xQhA+vNHpV8DBCGMoozp2Io/vrSXhhEothaRnSt7VMR0rj2pt9KKLXa5amrCw== console-browserify@^1.1.0: version "1.1.0" @@ -3337,16 +3385,6 @@ consolidate@^0.15.1: dependencies: bluebird "^3.1.1" -constantinople@^3.0.1: - version "3.1.2" - resolved "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz#d45ed724f57d3d10500017a7d3a889c1381ae647" - integrity sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw== - dependencies: - "@types/babel-types" "^7.0.0" - "@types/babylon" "^6.16.2" - babel-types "^6.26.0" - babylon "^6.18.0" - constants-browserify@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" @@ -3504,7 +3542,7 @@ core-js@3.0.0: resolved "https://registry.npmjs.org/core-js/-/core-js-3.0.0.tgz#a8dbfa978d29bfc263bfb66c556d0ca924c28957" integrity sha512-WBmxlgH2122EzEJ6GH8o9L/FeoUKxxxZ6q6VUxoTlsE4EvbTWKJb447eyVxTEuq0LpXjlq/kCB2qgBvsYRkLvQ== -core-js@^2.4.0, core-js@^2.6.5: +core-js@^2.6.5: version "2.6.5" resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz#44bc8d249e7fb2ff5d00e0341a7ffb94fbf67895" integrity sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A== @@ -3525,14 +3563,13 @@ cosmiconfig@^4.0.0: require-from-string "^2.0.1" cosmiconfig@^5.0.0, cosmiconfig@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.1.0.tgz#6c5c35e97f37f985061cdf653f114784231185cf" - integrity sha512-kCNPvthka8gvLtzAxQXvWo4FxqRB+ftRZyPZNuab5ngvM9Y7yw7hbEysglptLgpkGX9nAOKTBVkHUAe8xtYR6Q== + version "5.2.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.0.tgz#45038e4d28a7fe787203aede9c25bca4a08b12c8" + integrity sha512-nxt+Nfc3JAqf4WIWd0jXLjTJZmsPLrA9DDc4nRw2KFJQJK7DNooqSXrNI7tzLG50CF8axczly5UV929tBmh/7g== dependencies: import-fresh "^2.0.0" is-directory "^0.3.1" - js-yaml "^3.9.0" - lodash.get "^4.4.2" + js-yaml "^3.13.0" parse-json "^4.0.0" create-ecdh@^4.0.0: @@ -3825,9 +3862,9 @@ cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4: integrity sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A== cssstyle@^1.0.0, cssstyle@^1.1.1: - version "1.2.1" - resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-1.2.1.tgz#3aceb2759eaf514ac1a21628d723d6043a819495" - integrity sha512-7DYm8qe+gPx/h77QlCyFmX80+fGaE/6A/Ekl0zaszYOubvySO2saYFdQ78P29D0UsULxFKCetDGNaNRUdSF+2A== + version "1.2.2" + resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-1.2.2.tgz#427ea4d585b18624f6fdbf9de7a2a1a3ba713077" + integrity sha512-43wY3kl1CVQSvL7wUY1qXkxVGkStjpkDmVjiIKX8R97uhajy8Bybay78uOtqvh7Q5GK75dNPfW0geWjE6qQQow== dependencies: cssom "0.3.x" @@ -3927,7 +3964,7 @@ decamelize-keys@^1.0.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -3952,7 +3989,7 @@ deep-is@~0.1.3: resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -deepmerge@3.2.0, deepmerge@^3.0.0: +deepmerge@3.2.0, deepmerge@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-3.2.0.tgz#58ef463a57c08d376547f8869fdc5bcee957f44e" integrity sha512-6+LuZGU7QCNUnAJyX8cIrlzoEgggTM6B7mm+znKOX4t5ltluT9KLjN6g61ECMS0LTsLW7yDpNoxhix5FZcrIow== @@ -4103,11 +4140,6 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -doctypes@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9" - integrity sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk= - dom-converter@^0.2: version "0.2.0" resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" @@ -4215,10 +4247,10 @@ ejs@^2.6.1: resolved "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0" integrity sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ== -electron-to-chromium@^1.3.116: - version "1.3.118" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.118.tgz#5c82b0445a40934e6cae9c2f40bfaaa986ea44a3" - integrity sha512-/1FpHvmKmKo2Z6CCza2HfkrKvKhU7Rq4nvyX1FOherdTrdTufhVrJbCrcrIqgqUCI+BG6JC2rlY4z5QA1G0NOw== +electron-to-chromium@^1.3.122: + version "1.3.122" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.122.tgz#b32a0805f48557bd3c3b8104eadc7fa511b14a9a" + integrity sha512-3RKoIyCN4DhP2dsmleuFvpJAIDOseWH88wFYBzb22CSwoFDSWRc4UAMfrtc9h8nBdJjTNIN3rogChgOy6eFInw== elliptic@^6.0.0: version "6.4.1" @@ -4438,10 +4470,10 @@ eslint-plugin-node@^8.0.1: resolve "^1.8.1" semver "^5.5.0" -eslint-plugin-promise@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.0.1.tgz#2d074b653f35a23d1ba89d8e976a985117d1c6a2" - integrity sha512-Si16O0+Hqz1gDHsys6RtFRrW7cCTB6P7p3OJmKp3Y3dxpQE2qwOA7d3xnV+0mBmrPoi0RBnxlCKvqu70te6wjg== +eslint-plugin-promise@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.1.1.tgz#1e08cb68b5b2cd8839f8d5864c796f56d82746db" + integrity sha512-faAHw7uzlNPy7b45J1guyjazw28M+7gJokKUjC5JSFoYfUEyy6Gw/i7YQvmv2Yk00sUjWcmzXQLpU1Ki/C2IZQ== eslint-plugin-standard@^4.0.0: version "4.0.0" @@ -4481,10 +4513,10 @@ eslint-visitor-keys@^1.0.0: resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== -eslint@^5.15.3: - version "5.15.3" - resolved "https://registry.npmjs.org/eslint/-/eslint-5.15.3.tgz#c79c3909dc8a7fa3714fb340c11e30fd2526b8b5" - integrity sha512-vMGi0PjCHSokZxE0NLp2VneGw5sio7SSiDNgIUn2tC0XkWJRNOIoHIg3CliLVfXnJsiHxGAYrkw0PieAu8+KYQ== +eslint@^5.16.0: + version "5.16.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea" + integrity sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.9.1" @@ -4506,7 +4538,7 @@ eslint@^5.15.3: import-fresh "^3.0.0" imurmurhash "^0.1.4" inquirer "^6.2.2" - js-yaml "^3.12.0" + js-yaml "^3.13.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.3.0" lodash "^4.17.11" @@ -4523,10 +4555,10 @@ eslint@^5.15.3: table "^5.2.3" text-table "^0.2.0" -esm@^3.2.20: - version "3.2.20" - resolved "https://registry.npmjs.org/esm/-/esm-3.2.20.tgz#44f125117863427cdece7223baa411fc739c1939" - integrity sha512-NA92qDA8C/qGX/xMinDGa3+cSPs4wQoFxskRrSnDo/9UloifhONFm4sl4G+JsyCqM007z2K+BfQlH5rMta4K1Q== +esm@^3.2.22: + version "3.2.22" + resolved "https://registry.npmjs.org/esm/-/esm-3.2.22.tgz#5062c2e22fee3ccfee4e8f20da768330da90d6e3" + integrity sha512-z8YG7U44L82j1XrdEJcqZOLUnjxco8pO453gKOlaMD1/md1n/5QrscAmYG+oKUspsmDLuBFZrpbxI6aQ67yRxA== espree@^4.1.0: version "4.1.0" @@ -4575,11 +4607,6 @@ estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= -estree-walker@^0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39" - integrity sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig== - estree-walker@^0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.0.tgz#5d865327c44a618dde5699f763891ae31f257dae" @@ -4675,16 +4702,16 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expect@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/expect/-/expect-24.5.0.tgz#492fb0df8378d8474cc84b827776b069f46294ed" - integrity sha512-p2Gmc0CLxOgkyA93ySWmHFYHUPFIHG6XZ06l7WArWAsrqYVaVEkOU5NtT5i68KUyGKbkQgDCkiT65bWmdoL6Bw== +expect@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/expect/-/expect-24.7.1.tgz#d91defbab4e627470a152feaf35b3c31aa1c7c14" + integrity sha512-mGfvMTPduksV3xoI0xur56pQsg2vJjNf5+a+bXOjqCkiCBbmCayrBbHS/75y9K430cfqyocPr2ZjiNiRx4SRKw== dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.7.0" ansi-styles "^3.2.0" jest-get-type "^24.3.0" - jest-matcher-utils "^24.5.0" - jest-message-util "^24.5.0" + jest-matcher-utils "^24.7.0" + jest-message-util "^24.7.1" jest-regex-util "^24.3.0" express@^4.16.3, express@^4.16.4: @@ -4766,14 +4793,14 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extract-css-chunks-webpack-plugin@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/extract-css-chunks-webpack-plugin/-/extract-css-chunks-webpack-plugin-4.0.1.tgz#8a25ecf89e4a31d74351e487e616ecc79e873052" - integrity sha512-axin0Qz65T4ZQl8FEGW1ZN31kwUJOO7CoiWv0aTupYjmmQdtr56qsW061MuLglzTNwDKTcSe7KbtuzMZ5uc3Cw== +extract-css-chunks-webpack-plugin@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/extract-css-chunks-webpack-plugin/-/extract-css-chunks-webpack-plugin-4.3.0.tgz#01fb5ea225a78d5bd51e29b191dc1248ab320957" + integrity sha512-U2mCuqF9JKmyQydQQUy+tsCVCeuysgIZNZHd0eeTgIgq6gSqCnS9eaCpknyLVl3aRr8y2gkvRPzpuHS7AdvK0Q== dependencies: loader-utils "^1.1.0" lodash "^4.17.11" - normalize-url "^3.0.0" + normalize-url "^2.0.1" schema-utils "^1.0.0" webpack-sources "^1.1.0" @@ -4989,10 +5016,10 @@ forever-agent@~0.6.1: resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= -fork-ts-checker-webpack-plugin@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.0.tgz#0f9ff0219f9b6f1a1b10fa25d7cc5015e60c997a" - integrity sha512-Kc7LI0OlnWB0FRbDQO+nnDCfZr+LhFSJIP8kZppDXvuXI/opeMg3IrlMedBX/EGgOUK0ma5Hafgkdp3DuxgYdg== +fork-ts-checker-webpack-plugin@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.0.1.tgz#140453c4dc3dc35937034b7416b66a3bacfbc3a8" + integrity sha512-RrVxSiNtngsFDLQpP2QlrVaJK1zqRdwhtwslmDUWQTg3t3GW8QN7D3EpW/EAI+oqTqL0dGvLyluyYQ/eIrIHvQ== dependencies: babel-code-frame "^6.22.0" chalk "^2.4.1" @@ -5403,7 +5430,7 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" -he@1.2.x, he@^1.1.0: +he@1.2.x, he@^1.1.0, he@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -5459,7 +5486,7 @@ html-entities@^1.2.0: resolved "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= -html-minifier@^3.2.3, html-minifier@^3.5.21: +html-minifier@^3.2.3: version "3.5.21" resolved "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== @@ -5472,6 +5499,19 @@ html-minifier@^3.2.3, html-minifier@^3.5.21: relateurl "0.2.x" uglify-js "3.4.x" +html-minifier@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz#cca9aad8bce1175e02e17a8c33e46d8988889f56" + integrity sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig== + dependencies: + camel-case "^3.0.0" + clean-css "^4.2.1" + commander "^2.19.0" + he "^1.2.0" + param-case "^2.1.1" + relateurl "^0.2.7" + uglify-js "^3.5.1" + html-tags@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" @@ -5581,9 +5621,9 @@ icss-utils@^4.1.0: postcss "^7.0.14" ieee754@^1.1.4: - version "1.1.12" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" - integrity sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA== + version "1.1.13" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== iferr@^0.1.5: version "0.1.5" @@ -5877,14 +5917,6 @@ is-directory@^0.3.1: resolved "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= -is-expression@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz#39acaa6be7fd1f3471dc42c7416e61c24317ac9f" - integrity sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8= - dependencies: - acorn "~4.0.2" - object-assign "^4.0.1" - is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -5934,9 +5966,9 @@ is-glob@^3.1.0: is-extglob "^2.1.0" is-glob@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" - integrity sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A= + version "4.0.1" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== dependencies: is-extglob "^2.1.1" @@ -5969,12 +6001,12 @@ is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-promise@^2.0.0, is-promise@^2.1.0: +is-promise@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= -is-regex@^1.0.3, is-regex@^1.0.4: +is-regex@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= @@ -6142,65 +6174,66 @@ istanbul-reports@^2.1.1: dependencies: handlebars "^4.1.0" -jest-changed-files@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.5.0.tgz#4075269ee115d87194fd5822e642af22133cf705" - integrity sha512-Ikl29dosYnTsH9pYa1Tv9POkILBhN/TLZ37xbzgNsZ1D2+2n+8oEZS2yP1BrHn/T4Rs4Ggwwbp/x8CKOS5YJOg== +jest-changed-files@^24.7.0: + version "24.7.0" + resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.7.0.tgz#39d723a11b16ed7b373ac83adc76a69464b0c4fa" + integrity sha512-33BgewurnwSfJrW7T5/ZAXGE44o7swLslwh8aUckzq2e17/2Os1V0QU506ZNik3hjs8MgnEMKNkcud442NCDTw== dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.7.0" execa "^1.0.0" throat "^4.0.0" -jest-cli@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-24.5.0.tgz#598139d3446d1942fb7dc93944b9ba766d756d4b" - integrity sha512-P+Jp0SLO4KWN0cGlNtC7JV0dW1eSFR7eRpoOucP2UM0sqlzp/bVHeo71Omonvigrj9AvCKy7NtQANtqJ7FXz8g== +jest-cli@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-24.7.1.tgz#6093a539073b6f4953145abeeb9709cd621044f1" + integrity sha512-32OBoSCVPzcTslGFl6yVCMzB2SqX3IrWwZCY5mZYkb0D2WsogmU3eV2o8z7+gRQa4o4sZPX/k7GU+II7CxM6WQ== dependencies: - "@jest/core" "^24.5.0" - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/core" "^24.7.1" + "@jest/test-result" "^24.7.1" + "@jest/types" "^24.7.0" chalk "^2.0.1" exit "^0.1.2" import-local "^2.0.0" is-ci "^2.0.0" - jest-config "^24.5.0" - jest-util "^24.5.0" - jest-validate "^24.5.0" + jest-config "^24.7.1" + jest-util "^24.7.1" + jest-validate "^24.7.0" prompts "^2.0.1" realpath-native "^1.1.0" yargs "^12.0.2" -jest-config@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-24.5.0.tgz#404d1bc6bb81aed6bd1890d07e2dca9fbba2e121" - integrity sha512-t2UTh0Z2uZhGBNVseF8wA2DS2SuBiLOL6qpLq18+OZGfFUxTM7BzUVKyHFN/vuN+s/aslY1COW95j1Rw81huOQ== +jest-config@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/jest-config/-/jest-config-24.7.1.tgz#6c1dd4db82a89710a3cf66bdba97827c9a1cf052" + integrity sha512-8FlJNLI+X+MU37j7j8RE4DnJkvAghXmBWdArVzypW6WxfGuxiL/CCkzBg0gHtXhD2rxla3IMOSUAHylSKYJ83g== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^24.5.0" - babel-jest "^24.5.0" + "@jest/test-sequencer" "^24.7.1" + "@jest/types" "^24.7.0" + babel-jest "^24.7.1" chalk "^2.0.1" glob "^7.1.1" - jest-environment-jsdom "^24.5.0" - jest-environment-node "^24.5.0" + jest-environment-jsdom "^24.7.1" + jest-environment-node "^24.7.1" jest-get-type "^24.3.0" - jest-jasmine2 "^24.5.0" + jest-jasmine2 "^24.7.1" jest-regex-util "^24.3.0" - jest-resolve "^24.5.0" - jest-util "^24.5.0" - jest-validate "^24.5.0" + jest-resolve "^24.7.1" + jest-util "^24.7.1" + jest-validate "^24.7.0" micromatch "^3.1.10" - pretty-format "^24.5.0" + pretty-format "^24.7.0" realpath-native "^1.1.0" -jest-diff@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-24.5.0.tgz#a2d8627964bb06a91893c0fbcb28ab228c257652" - integrity sha512-mCILZd9r7zqL9Uh6yNoXjwGQx0/J43OD2vvWVKwOEOLZliQOsojXwqboubAQ+Tszrb6DHGmNU7m4whGeB9YOqw== +jest-diff@^24.7.0: + version "24.7.0" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-24.7.0.tgz#5d862899be46249754806f66e5729c07fcb3580f" + integrity sha512-ULQZ5B1lWpH70O4xsANC4tf4Ko6RrpwhE3PtG6ERjMg1TiYTC2Wp4IntJVGro6a8HG9luYHhhmF4grF0Pltckg== dependencies: chalk "^2.0.1" diff-sequences "^24.3.0" jest-get-type "^24.3.0" - pretty-format "^24.5.0" + pretty-format "^24.7.0" jest-docblock@^24.3.0: version "24.3.0" @@ -6209,119 +6242,123 @@ jest-docblock@^24.3.0: dependencies: detect-newline "^2.1.0" -jest-each@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-each/-/jest-each-24.5.0.tgz#da14d017a1b7d0f01fb458d338314cafe7f72318" - integrity sha512-6gy3Kh37PwIT5sNvNY2VchtIFOOBh8UCYnBlxXMb5sr5wpJUDPTUATX2Axq1Vfk+HWTMpsYPeVYp4TXx5uqUBw== +jest-each@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/jest-each/-/jest-each-24.7.1.tgz#fcc7dda4147c28430ad9fb6dc7211cd17ab54e74" + integrity sha512-4fsS8fEfLa3lfnI1Jw6NxjhyRTgfpuOVTeUZZFyVYqeTa4hPhr2YkToUhouuLTrL2eMGOfpbdMyRx0GQ/VooKA== dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.7.0" chalk "^2.0.1" jest-get-type "^24.3.0" - jest-util "^24.5.0" - pretty-format "^24.5.0" + jest-util "^24.7.1" + pretty-format "^24.7.0" -jest-environment-jsdom@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.5.0.tgz#1c3143063e1374100f8c2723a8b6aad23b6db7eb" - integrity sha512-62Ih5HbdAWcsqBx2ktUnor/mABBo1U111AvZWcLKeWN/n/gc5ZvDBKe4Og44fQdHKiXClrNGC6G0mBo6wrPeGQ== +jest-environment-jsdom@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.7.1.tgz#a40e004b4458ebeb8a98082df135fd501b9fbbd6" + integrity sha512-Gnhb+RqE2JuQGb3kJsLF8vfqjt3PHKSstq4Xc8ic+ax7QKo4Z0RWGucU3YV+DwKR3T9SYc+3YCUQEJs8r7+Jxg== dependencies: - "@jest/environment" "^24.5.0" - "@jest/fake-timers" "^24.5.0" - "@jest/types" "^24.5.0" - jest-mock "^24.5.0" - jest-util "^24.5.0" + "@jest/environment" "^24.7.1" + "@jest/fake-timers" "^24.7.1" + "@jest/types" "^24.7.0" + jest-mock "^24.7.0" + jest-util "^24.7.1" jsdom "^11.5.1" -jest-environment-node@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.5.0.tgz#763eebdf529f75b60aa600c6cf8cb09873caa6ab" - integrity sha512-du6FuyWr/GbKLsmAbzNF9mpr2Iu2zWSaq/BNHzX+vgOcts9f2ayXBweS7RAhr+6bLp6qRpMB6utAMF5Ygktxnw== +jest-environment-node@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.7.1.tgz#fa2c047a31522a48038d26ee4f7c8fd9c1ecfe12" + integrity sha512-GJJQt1p9/C6aj6yNZMvovZuxTUd+BEJprETdvTKSb4kHcw4mFj8777USQV0FJoJ4V3djpOwA5eWyPwfq//PFBA== dependencies: - "@jest/environment" "^24.5.0" - "@jest/fake-timers" "^24.5.0" - "@jest/types" "^24.5.0" - jest-mock "^24.5.0" - jest-util "^24.5.0" + "@jest/environment" "^24.7.1" + "@jest/fake-timers" "^24.7.1" + "@jest/types" "^24.7.0" + jest-mock "^24.7.0" + jest-util "^24.7.1" jest-get-type@^24.3.0: version "24.3.0" resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.3.0.tgz#582cfd1a4f91b5cdad1d43d2932f816d543c65da" integrity sha512-HYF6pry72YUlVcvUx3sEpMRwXEWGEPlJ0bSPVnB3b3n++j4phUEoSPcS6GC0pPJ9rpyPSe4cb5muFo6D39cXow== -jest-haste-map@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.5.0.tgz#3f17d0c548b99c0c96ed2893f9c0ccecb2eb9066" - integrity sha512-mb4Yrcjw9vBgSvobDwH8QUovxApdimGcOkp+V1ucGGw4Uvr3VzZQBJhNm1UY3dXYm4XXyTW2G7IBEZ9pM2ggRQ== +jest-haste-map@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.7.1.tgz#772e215cd84080d4bbcb759cfb668ad649a21471" + integrity sha512-g0tWkzjpHD2qa03mTKhlydbmmYiA2KdcJe762SbfFo/7NIMgBWAA0XqQlApPwkWOF7Cxoi/gUqL0i6DIoLpMBw== dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.7.0" + anymatch "^2.0.0" fb-watchman "^2.0.0" graceful-fs "^4.1.15" invariant "^2.2.4" jest-serializer "^24.4.0" - jest-util "^24.5.0" - jest-worker "^24.4.0" + jest-util "^24.7.1" + jest-worker "^24.6.0" micromatch "^3.1.10" sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^1.2.7" -jest-jasmine2@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.5.0.tgz#e6af4d7f73dc527d007cca5a5b177c0bcc29d111" - integrity sha512-sfVrxVcx1rNUbBeyIyhkqZ4q+seNKyAG6iM0S2TYBdQsXjoFDdqWFfsUxb6uXSsbimbXX/NMkJIwUZ1uT9+/Aw== +jest-jasmine2@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.7.1.tgz#01398686dabe46553716303993f3be62e5d9d818" + integrity sha512-Y/9AOJDV1XS44wNwCaThq4Pw3gBPiOv/s6NcbOAkVRRUEPu+36L2xoPsqQXsDrxoBerqeyslpn2TpCI8Zr6J2w== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.5.0" - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/environment" "^24.7.1" + "@jest/test-result" "^24.7.1" + "@jest/types" "^24.7.0" chalk "^2.0.1" co "^4.6.0" - expect "^24.5.0" + expect "^24.7.1" is-generator-fn "^2.0.0" - jest-each "^24.5.0" - jest-matcher-utils "^24.5.0" - jest-message-util "^24.5.0" - jest-runtime "^24.5.0" - jest-snapshot "^24.5.0" - jest-util "^24.5.0" - pretty-format "^24.5.0" + jest-each "^24.7.1" + jest-matcher-utils "^24.7.0" + jest-message-util "^24.7.1" + jest-runtime "^24.7.1" + jest-snapshot "^24.7.1" + jest-util "^24.7.1" + pretty-format "^24.7.0" throat "^4.0.0" -jest-leak-detector@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.5.0.tgz#21ae2b3b0da252c1171cd494f75696d65fb6fa89" - integrity sha512-LZKBjGovFRx3cRBkqmIg+BZnxbrLqhQl09IziMk3oeh1OV81Hg30RUIx885mq8qBv1PA0comB9bjKcuyNO1bCQ== +jest-leak-detector@^24.7.0: + version "24.7.0" + resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.7.0.tgz#323ff93ed69be12e898f5b040952f08a94288ff9" + integrity sha512-zV0qHKZGXtmPVVzT99CVEcHE9XDf+8LwiE0Ob7jjezERiGVljmqKFWpV2IkG+rkFIEUHFEkMiICu7wnoPM/RoQ== dependencies: - pretty-format "^24.5.0" + pretty-format "^24.7.0" -jest-matcher-utils@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.5.0.tgz#5995549dcf09fa94406e89526e877b094dad8770" - integrity sha512-QM1nmLROjLj8GMGzg5VBra3I9hLpjMPtF1YqzQS3rvWn2ltGZLrGAO1KQ9zUCVi5aCvrkbS5Ndm2evIP9yZg1Q== +jest-matcher-utils@^24.7.0: + version "24.7.0" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.7.0.tgz#bbee1ff37bc8b2e4afcaabc91617c1526af4bcd4" + integrity sha512-158ieSgk3LNXeUhbVJYRXyTPSCqNgVXOp/GT7O94mYd3pk/8+odKTyR1JLtNOQSPzNi8NFYVONtvSWA/e1RDXg== dependencies: chalk "^2.0.1" - jest-diff "^24.5.0" + jest-diff "^24.7.0" jest-get-type "^24.3.0" - pretty-format "^24.5.0" + pretty-format "^24.7.0" -jest-message-util@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.5.0.tgz#181420a65a7ef2e8b5c2f8e14882c453c6d41d07" - integrity sha512-6ZYgdOojowCGiV0D8WdgctZEAe+EcFU+KrVds+0ZjvpZurUW2/oKJGltJ6FWY2joZwYXN5VL36GPV6pNVRqRnQ== +jest-message-util@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.7.1.tgz#f1dc3a6c195647096a99d0f1dadbc447ae547018" + integrity sha512-dk0gqVtyqezCHbcbk60CdIf+8UHgD+lmRHifeH3JRcnAqh4nEyPytSc9/L1+cQyxC+ceaeP696N4ATe7L+omcg== dependencies: "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/test-result" "^24.7.1" + "@jest/types" "^24.7.0" "@types/stack-utils" "^1.0.1" chalk "^2.0.1" micromatch "^3.1.10" slash "^2.0.0" stack-utils "^1.0.1" -jest-mock@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-24.5.0.tgz#976912c99a93f2a1c67497a9414aa4d9da4c7b76" - integrity sha512-ZnAtkWrKf48eERgAOiUxVoFavVBziO2pAi2MfZ1+bGXVkDfxWLxU0//oJBkgwbsv6OAmuLBz4XFFqvCFMqnGUw== +jest-mock@^24.7.0: + version "24.7.0" + resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-24.7.0.tgz#e49ce7262c12d7f5897b0d8af77f6db8e538023b" + integrity sha512-6taW4B4WUcEiT2V9BbOmwyGuwuAFT2G8yghF7nyNW1/2gq5+6aTqSPcS9lS6ArvEkX55vbPAS/Jarx5LSm4Fng== dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.7.0" jest-pnp-resolver@^1.2.1: version "1.2.1" @@ -6333,75 +6370,75 @@ jest-regex-util@^24.3.0: resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg== -jest-resolve-dependencies@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.5.0.tgz#1a0dae9cdd41349ca4a84148b3e78da2ba33fd4b" - integrity sha512-dRVM1D+gWrFfrq2vlL5P9P/i8kB4BOYqYf3S7xczZ+A6PC3SgXYSErX/ScW/469pWMboM1uAhgLF+39nXlirCQ== +jest-resolve-dependencies@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.7.1.tgz#cf93bbef26999488a96a2b2012f9fe7375aa378f" + integrity sha512-2Eyh5LJB2liNzfk4eo7bD1ZyBbqEJIyyrFtZG555cSWW9xVHxII2NuOkSl1yUYTAYCAmM2f2aIT5A7HzNmubyg== dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.7.0" jest-regex-util "^24.3.0" - jest-snapshot "^24.5.0" + jest-snapshot "^24.7.1" -jest-resolve@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.5.0.tgz#8c16ba08f60a1616c3b1cd7afb24574f50a24d04" - integrity sha512-ZIfGqLX1Rg8xJpQqNjdoO8MuxHV1q/i2OO1hLXjgCWFWs5bsedS8UrOdgjUqqNae6DXA+pCyRmdcB7lQEEbXew== +jest-resolve@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.7.1.tgz#e4150198299298380a75a9fd55043fa3b9b17fde" + integrity sha512-Bgrc+/UUZpGJ4323sQyj85hV9d+ANyPNu6XfRDUcyFNX1QrZpSoM0kE4Mb2vZMAYTJZsBFzYe8X1UaOkOELSbw== dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.7.0" browser-resolve "^1.11.3" chalk "^2.0.1" jest-pnp-resolver "^1.2.1" realpath-native "^1.1.0" -jest-runner@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-24.5.0.tgz#9be26ece4fd4ab3dfb528b887523144b7c5ffca8" - integrity sha512-oqsiS9TkIZV5dVkD+GmbNfWBRPIvxqmlTQ+AQUJUQ07n+4xTSDc40r+aKBynHw9/tLzafC00DIbJjB2cOZdvMA== +jest-runner@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-24.7.1.tgz#41c8a02a06aa23ea82d8bffd69d7fa98d32f85bf" + integrity sha512-aNFc9liWU/xt+G9pobdKZ4qTeG/wnJrJna3VqunziDNsWT3EBpmxXZRBMKCsNMyfy+A/XHiV+tsMLufdsNdgCw== dependencies: - "@jest/console" "^24.3.0" - "@jest/environment" "^24.5.0" - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/console" "^24.7.1" + "@jest/environment" "^24.7.1" + "@jest/test-result" "^24.7.1" + "@jest/types" "^24.7.0" chalk "^2.4.2" exit "^0.1.2" graceful-fs "^4.1.15" - jest-config "^24.5.0" + jest-config "^24.7.1" jest-docblock "^24.3.0" - jest-haste-map "^24.5.0" - jest-jasmine2 "^24.5.0" - jest-leak-detector "^24.5.0" - jest-message-util "^24.5.0" - jest-resolve "^24.5.0" - jest-runtime "^24.5.0" - jest-util "^24.5.0" - jest-worker "^24.4.0" + jest-haste-map "^24.7.1" + jest-jasmine2 "^24.7.1" + jest-leak-detector "^24.7.0" + jest-message-util "^24.7.1" + jest-resolve "^24.7.1" + jest-runtime "^24.7.1" + jest-util "^24.7.1" + jest-worker "^24.6.0" source-map-support "^0.5.6" throat "^4.0.0" -jest-runtime@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.5.0.tgz#3a76e0bfef4db3896d5116e9e518be47ba771aa2" - integrity sha512-GTFHzfLdwpaeoDPilNpBrorlPoNZuZrwKKzKJs09vWwHo+9TOsIIuszK8cWOuKC7ss07aN1922Ge8fsGdsqCuw== +jest-runtime@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.7.1.tgz#2ffd70b22dd03a5988c0ab9465c85cdf5d25c597" + integrity sha512-0VAbyBy7tll3R+82IPJpf6QZkokzXPIS71aDeqh+WzPRXRCNz6StQ45otFariPdJ4FmXpDiArdhZrzNAC3sj6A== dependencies: - "@jest/console" "^24.3.0" - "@jest/environment" "^24.5.0" + "@jest/console" "^24.7.1" + "@jest/environment" "^24.7.1" "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.5.0" - "@jest/types" "^24.5.0" + "@jest/transform" "^24.7.1" + "@jest/types" "^24.7.0" "@types/yargs" "^12.0.2" chalk "^2.0.1" exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.1.15" - jest-config "^24.5.0" - jest-haste-map "^24.5.0" - jest-message-util "^24.5.0" - jest-mock "^24.5.0" + jest-config "^24.7.1" + jest-haste-map "^24.7.1" + jest-message-util "^24.7.1" + jest-mock "^24.7.0" jest-regex-util "^24.3.0" - jest-resolve "^24.5.0" - jest-snapshot "^24.5.0" - jest-util "^24.5.0" - jest-validate "^24.5.0" + jest-resolve "^24.7.1" + jest-snapshot "^24.7.1" + jest-util "^24.7.1" + jest-validate "^24.7.0" realpath-native "^1.1.0" slash "^2.0.0" strip-bom "^3.0.0" @@ -6412,35 +6449,34 @@ jest-serializer@^24.4.0: resolved "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.4.0.tgz#f70c5918c8ea9235ccb1276d232e459080588db3" integrity sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q== -jest-snapshot@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.5.0.tgz#e5d224468a759fd19e36f01217aac912f500f779" - integrity sha512-eBEeJb5ROk0NcpodmSKnCVgMOo+Qsu5z9EDl3tGffwPzK1yV37mjGWF2YeIz1NkntgTzP+fUL4s09a0+0dpVWA== +jest-snapshot@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.7.1.tgz#bd5a35f74aedff070975e9e9c90024f082099568" + integrity sha512-8Xk5O4p+JsZZn4RCNUS3pxA+ORKpEKepE+a5ejIKrId9CwrVN0NY+vkqEkXqlstA5NMBkNahXkR/4qEBy0t5yA== dependencies: "@babel/types" "^7.0.0" - "@jest/types" "^24.5.0" + "@jest/types" "^24.7.0" chalk "^2.0.1" - expect "^24.5.0" - jest-diff "^24.5.0" - jest-matcher-utils "^24.5.0" - jest-message-util "^24.5.0" - jest-resolve "^24.5.0" + expect "^24.7.1" + jest-diff "^24.7.0" + jest-matcher-utils "^24.7.0" + jest-message-util "^24.7.1" + jest-resolve "^24.7.1" mkdirp "^0.5.1" natural-compare "^1.4.0" - pretty-format "^24.5.0" + pretty-format "^24.7.0" semver "^5.5.0" -jest-util@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-24.5.0.tgz#9d9cb06d9dcccc8e7cc76df91b1635025d7baa84" - integrity sha512-Xy8JsD0jvBz85K7VsTIQDuY44s+hYJyppAhcsHsOsGisVtdhar6fajf2UOf2mEVEgh15ZSdA0zkCuheN8cbr1Q== +jest-util@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-24.7.1.tgz#b4043df57b32a23be27c75a2763d8faf242038ff" + integrity sha512-/KilOue2n2rZ5AnEBYoxOXkeTu6vi7cjgQ8MXEkih0oeAXT6JkS3fr7/j8+engCjciOU1Nq5loMSKe0A1oeX0A== dependencies: - "@jest/console" "^24.3.0" - "@jest/fake-timers" "^24.5.0" + "@jest/console" "^24.7.1" + "@jest/fake-timers" "^24.7.1" "@jest/source-map" "^24.3.0" - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" - "@types/node" "*" + "@jest/test-result" "^24.7.1" + "@jest/types" "^24.7.0" callsites "^3.0.0" chalk "^2.0.1" graceful-fs "^4.1.15" @@ -6449,59 +6485,52 @@ jest-util@^24.5.0: slash "^2.0.0" source-map "^0.6.0" -jest-validate@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-24.5.0.tgz#62fd93d81214c070bb2d7a55f329a79d8057c7de" - integrity sha512-gg0dYszxjgK2o11unSIJhkOFZqNRQbWOAB2/LOUdsd2LfD9oXiMeuee8XsT0iRy5EvSccBgB4h/9HRbIo3MHgQ== +jest-validate@^24.7.0: + version "24.7.0" + resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-24.7.0.tgz#70007076f338528ee1b1c8a8258b1b0bb982508d" + integrity sha512-cgai/gts9B2chz1rqVdmLhzYxQbgQurh1PEQSvSgPZ8KGa1AqXsqC45W5wKEwzxKrWqypuQrQxnF4+G9VejJJA== dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.7.0" camelcase "^5.0.0" chalk "^2.0.1" jest-get-type "^24.3.0" leven "^2.1.0" - pretty-format "^24.5.0" + pretty-format "^24.7.0" -jest-watcher@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.5.0.tgz#da7bd9cb5967e274889b42078c8f501ae1c47761" - integrity sha512-/hCpgR6bg0nKvD3nv4KasdTxuhwfViVMHUATJlnGCD0r1QrmIssimPbmc5KfAQblAVxkD8xrzuij9vfPUk1/rA== +jest-watcher@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.7.1.tgz#e161363d7f3f4e1ef3d389b7b3a0aad247b673f5" + integrity sha512-Wd6TepHLRHVKLNPacEsBwlp9raeBIO+01xrN24Dek4ggTS8HHnOzYSFnvp+6MtkkJ3KfMzy220KTi95e2rRkrw== dependencies: - "@jest/test-result" "^24.5.0" - "@jest/types" "^24.5.0" - "@types/node" "*" + "@jest/test-result" "^24.7.1" + "@jest/types" "^24.7.0" "@types/yargs" "^12.0.9" ansi-escapes "^3.0.0" chalk "^2.0.1" - jest-util "^24.5.0" + jest-util "^24.7.1" string-length "^2.0.0" -jest-worker@^24.4.0: - version "24.4.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-24.4.0.tgz#fbc452b0120bb5c2a70cdc88fa132b48eeb11dd0" - integrity sha512-BH9X/klG9vxwoO99ZBUbZFfV8qO0XNZ5SIiCyYK2zOuJBl6YJVAeNIQjcoOVNu4HGEHeYEKsUWws8kSlSbZ9YQ== +jest-worker@^24.6.0: + version "24.6.0" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3" + integrity sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ== dependencies: - "@types/node" "*" merge-stream "^1.0.1" supports-color "^6.1.0" -jest@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/jest/-/jest-24.5.0.tgz#38f11ae2c2baa2f86c2bc4d8a91d2b51612cd19a" - integrity sha512-lxL+Fq5/RH7inxxmfS2aZLCf8MsS+YCUBfeiNO6BWz/MmjhDGaIEA/2bzEf9q4Q0X+mtFHiinHFvQ0u+RvW/qQ== +jest@^24.7.1: + version "24.7.1" + resolved "https://registry.npmjs.org/jest/-/jest-24.7.1.tgz#0d94331cf510c75893ee32f87d7321d5bf8f2501" + integrity sha512-AbvRar5r++izmqo5gdbAjTeA6uNRGoNRuj5vHB0OnDXo2DXWZJVuaObiGgtlvhKb+cWy2oYbQSfxv7Q7GjnAtA== dependencies: import-local "^2.0.0" - jest-cli "^24.5.0" + jest-cli "^24.7.1" js-levenshtein@^1.1.3: version "1.1.6" resolved "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== -js-stringify@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" - integrity sha1-Fzb939lyTyijaCrcYjCufk6Weds= - "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -6512,7 +6541,7 @@ js-tokens@^3.0.2: resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= -js-yaml@^3.12.0, js-yaml@^3.7.0, js-yaml@^3.9.0: +js-yaml@^3.12.0, js-yaml@^3.13.0, js-yaml@^3.9.0: version "3.13.0" resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.0.tgz#38ee7178ac0eea2c97ff6d96fff4b18c7d8cf98e" integrity sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ== @@ -6670,14 +6699,6 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jstransformer@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3" - integrity sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM= - dependencies: - is-promise "^2.0.0" - promise "^7.0.1" - kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -6737,11 +6758,6 @@ launch-editor@^2.2.1: chalk "^2.3.0" shell-quote "^1.6.1" -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= - lcid@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" @@ -6956,11 +6972,6 @@ lodash@4.17.11, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.3 resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc= - loose-envify@^1.0.0: version "1.4.0" resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" @@ -6997,9 +7008,9 @@ lru-cache@^5.1.1: yallist "^3.0.2" macos-release@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/macos-release/-/macos-release-2.1.0.tgz#c87935891fbeb0dba7537913fc66f469fee9d662" - integrity sha512-8TCbwvN1mfNxbBv0yBtfyIFMo3m1QsNbKHv7PYIp/abRBKVQBXN7ecu3aeGGgT18VC/Tf397LBDGZF9KBGJFFw== + version "2.2.0" + resolved "https://registry.npmjs.org/macos-release/-/macos-release-2.2.0.tgz#ab58d55dd4714f0a05ad4b0e90f4370fef5cdea8" + integrity sha512-iV2IDxZaX8dIcM7fG6cI46uNmHUxHE4yN+Z8tKHAW1TBPMZDIKHf/3L+YnOuj/FK9il14UaVdHmiQ1tsi90ltA== magic-string@0.25.1: version "0.25.1" @@ -7008,7 +7019,7 @@ magic-string@0.25.1: dependencies: sourcemap-codec "^1.4.1" -magic-string@^0.25.1, magic-string@^0.25.2: +magic-string@^0.25.2: version "0.25.2" resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz#139c3a729515ec55e96e69e82a11fe890a293ad9" integrity sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg== @@ -7113,9 +7124,9 @@ media-typer@0.3.0: integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= mem@^4.0.0: - version "4.2.0" - resolved "https://registry.npmjs.org/mem/-/mem-4.2.0.tgz#5ee057680ed9cb8dad8a78d820f9a8897a102025" - integrity sha512-5fJxa68urlY0Ir8ijatKa3eRz5lwXnRCTvo9+TbTGAuTFJOwpGcY0X05moBd0nW45965Njt4CDI2GFQoG8DvqA== + version "4.3.0" + resolved "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" + integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== dependencies: map-age-cleaner "^0.1.1" mimic-fn "^2.0.0" @@ -7244,9 +7255,9 @@ mimic-fn@^1.0.0: integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== mimic-fn@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde" - integrity sha512-jbex9Yd/3lmICXwYT6gA/j2mNQGU48wCh/VzRd+/Y/PjYQtlg1gLMdZqvu9s/xH7qKvngxRObl56XZR609IMbA== + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" @@ -7400,9 +7411,9 @@ mute-stream@~0.0.4: integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== nan@^2.9.2: - version "2.13.1" - resolved "https://registry.npmjs.org/nan/-/nan-2.13.1.tgz#a15bee3790bde247e8f38f1d446edcdaeb05f2dd" - integrity sha512-I6YB/YEuDeUZMmhscXKxGgZlFnhsn5y0hgOZBadkzfTRrZBtJDZeg6eQf7PYMIEclwmorTKK8GztsyOUSVBREA== + version "2.13.2" + resolved "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7" + integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw== nanomatch@^1.2.9: version "1.2.13" @@ -7560,10 +7571,17 @@ node-pre-gyp@^0.10.0: semver "^5.3.0" tar "^4" -node-releases@^1.1.11: - version "1.1.11" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.11.tgz#9a0841a4b0d92b7d5141ed179e764f42ad22724a" - integrity sha512-8v1j5KfP+s5WOTa1spNUAOfreajQPN12JXbRR0oDE+YrJBQCXBnNqUDj27EKpPLOoSiU3tKi3xGPB+JaOdUEQQ== +node-releases@^1.1.12: + version "1.1.12" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.12.tgz#1d6baf544316b5422fcd35efe18708370a4e7637" + integrity sha512-Y+AQ1xdjcgaEzpL65PBEF3fnl1FNKnDh9Zm+AUQLIlyyqtSc4u93jyMN4zrjMzdwKQ10RTr3tgY1x7qpsfF/xg== + dependencies: + semver "^5.3.0" + +node-releases@^1.1.13: + version "1.1.13" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.13.tgz#8c03296b5ae60c08e2ff4f8f22ae45bd2f210083" + integrity sha512-fKZGviSXR6YvVPyc011NHuJDSD8gFQvLPmc2d2V3BS4gr52ycyQ1Xzs7a8B+Ax3Ni/W+5h1h4SqmzeoA8WZRmA== dependencies: semver "^5.3.0" @@ -7609,6 +7627,15 @@ normalize-range@^0.1.2: resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= +normalize-url@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" + integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw== + dependencies: + prepend-http "^2.0.0" + query-string "^5.0.1" + sort-keys "^2.0.0" + normalize-url@^3.0.0, normalize-url@^3.3.0: version "3.3.0" resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" @@ -7707,9 +7734,9 @@ number-is-nan@^1.0.0: integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= nwsapi@^2.0.7, nwsapi@^2.0.9: - version "2.1.1" - resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.1.tgz#08d6d75e69fd791bdea31507ffafe8c843b67e9c" - integrity sha512-T5GaA1J/d34AC8mkrFD2O0DR17kwJ702ZOtJOsS8RpbsQZVOC2/xYFb1i/cw+xdM54JIlMuojjDOYct8GIWtwg== + version "2.1.3" + resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.3.tgz#25f3a5cec26c654f7376df6659cdf84b99df9558" + integrity sha512-RowAaJGEgYXEZfQ7tvvdtAQUKPyTR6T6wNu0fwlNsGQYr/h3yQc6oI8WnVZh3Y/Sylwc+dtAlvPqfFZjhTyk3A== oauth-sign@~0.9.0: version "0.9.0" @@ -7959,9 +7986,9 @@ p-try@^1.0.0: integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= p-try@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.1.0.tgz#c1a0f1030e97de018bb2c718929d2af59463e505" - integrity sha512-H2RyIJ7+A3rjkwKC2l5GGtU4H1vkxKCAGsWasNVd0Set+6i4znxbWy6/j16YDPJDWxhsgZiKAstMEP8wCdSpjA== + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== p-waterfall@^1.0.0: version "1.0.0" @@ -8017,7 +8044,7 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" -param-case@2.1.x: +param-case@2.1.x, param-case@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= @@ -8025,9 +8052,9 @@ param-case@2.1.x: no-case "^2.2.0" parent-module@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.0.tgz#df250bdc5391f4a085fb589dad761f5ad6b865b5" - integrity sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA== + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" @@ -8293,12 +8320,12 @@ postcss-color-gray@^5.0.0: postcss-values-parser "^2.0.0" postcss-color-hex-alpha@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.2.tgz#e9b1886bb038daed33f6394168c210b40bb4fdb6" - integrity sha512-8bIOzQMGdZVifoBQUJdw+yIY00omBd2EwkJXepQo9cjp1UOHHHoeRDeSzTP6vakEpaRc6GAIOfvcQR7jBYaG5Q== + version "5.0.3" + resolved "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" + integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" + postcss "^7.0.14" + postcss-values-parser "^2.0.1" postcss-color-mod-function@^3.0.3: version "3.0.3" @@ -8337,11 +8364,11 @@ postcss-convert-values@^4.0.1: postcss-value-parser "^3.0.0" postcss-custom-media@^7.0.7: - version "7.0.7" - resolved "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.7.tgz#bbc698ed3089ded61aad0f5bfb1fb48bf6969e73" - integrity sha512-bWPCdZKdH60wKOTG4HKEgxWnZVjAIVNOJDvi3lkuTa90xo/K0YHa2ZnlKLC5e2qF8qCcMQXt0yzQITBp8d0OFA== + version "7.0.8" + resolved "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" + integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== dependencies: - postcss "^7.0.5" + postcss "^7.0.14" postcss-custom-properties@^8.0.9: version "8.0.9" @@ -8447,10 +8474,10 @@ postcss-image-set-function@^3.0.1: postcss "^7.0.2" postcss-values-parser "^2.0.0" -postcss-import-resolver@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/postcss-import-resolver/-/postcss-import-resolver-1.1.0.tgz#08a1a9811da625d28317abc31565a8408ff28cd2" - integrity sha512-GPIrMNh1ySSdA+BhTyWEv247KIW7WmPRWzvVMgGYR5YBWXAkj+iCdETmdyVQxakQRSLVTwfUibrOejxegka/OQ== +postcss-import-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/postcss-import-resolver/-/postcss-import-resolver-1.2.2.tgz#4d21536a3dd6103d71cca8122a6714b51491e6f5" + integrity sha512-8YVRutQbYvQvuQxZHQaRm3/vi/UvYIGH4HxPvgW0zs4MSWC6rjM77qC6sYP/h8Pzj1j7H8GUOSFHRBZ+umI2ig== dependencies: enhanced-resolve "^3.4.1" @@ -8882,7 +8909,7 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.2.3, postcss-value-parser@^ resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-values-parser@^2.0.0: +postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== @@ -8905,6 +8932,11 @@ prelude-ls@~1.1.2: resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + prettier@1.16.3: version "1.16.3" resolved "https://registry.npmjs.org/prettier/-/prettier-1.16.3.tgz#8c62168453badef702f34b45b6ee899574a6a65d" @@ -8923,12 +8955,12 @@ pretty-error@^2.0.2: renderkid "^2.0.1" utila "~0.4" -pretty-format@^24.5.0: - version "24.5.0" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-24.5.0.tgz#cc69a0281a62cd7242633fc135d6930cd889822d" - integrity sha512-/3RuSghukCf8Riu5Ncve0iI+BzVkbRU5EeUoArKARZobREycuH5O4waxvaNIloEXdb0qwgmEAed5vTpX1HNROQ== +pretty-format@^24.7.0: + version "24.7.0" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-24.7.0.tgz#d23106bc2edcd776079c2daa5da02bcb12ed0c10" + integrity sha512-apen5cjf/U4dj7tHetpC7UEFCvtAgnNZnBDkfPv3fokzIqyOJckAG9OlAPC1BlFALnqT/lGB2tl9EJjlK6eCsA== dependencies: - "@jest/types" "^24.5.0" + "@jest/types" "^24.7.0" ansi-regex "^4.0.0" ansi-styles "^3.2.0" react-is "^16.8.4" @@ -8971,13 +9003,6 @@ promise-retry@^1.1.1: err-code "^1.0.0" retry "^0.10.0" -promise@^7.0.1: - version "7.3.1" - resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - prompts@^2.0.1: version "2.0.4" resolved "https://registry.npmjs.org/prompts/-/prompts-2.0.4.tgz#179f9d4db3128b9933aa35f93a800d8fce76a682" @@ -8993,10 +9018,10 @@ promzard@^0.3.0: dependencies: read "1" -proper-lockfile@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.0.tgz#e5e21d68ea6938cbfb04171ac7f04dd0cba6fe92" - integrity sha512-5FGLP4Dehcwd1bOPyQhWKUosdIbL9r7F6uvBYhlsJAsGSwFk4nGtrS1Poqj6cKU2XXgqkqfDw2h0JdNjd8IgIQ== +proper-lockfile@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.1.tgz#284cf9db9e30a90e647afad69deb7cb06881262c" + integrity sha512-1w6rxXodisVpn7QYvLk706mzprPTAPCYAqxMvctmPN3ekuRk/kuGkGc82pangZiAt4R3lwSuUzheTTn0/Yb7Zg== dependencies: graceful-fs "^4.1.11" retry "^0.12.0" @@ -9059,118 +9084,6 @@ public-encrypt@^4.0.0: randombytes "^2.0.1" safe-buffer "^5.1.2" -pug-attrs@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.3.tgz#a3095f970e64151f7bdad957eef55fb5d7905d15" - integrity sha1-owlflw5kFR972tlX7vVftdeQXRU= - dependencies: - constantinople "^3.0.1" - js-stringify "^1.0.1" - pug-runtime "^2.0.4" - -pug-code-gen@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.1.tgz#0951ec83225d74d8cfc476a7f99a259b5f7d050c" - integrity sha1-CVHsgyJddNjPxHan+Zolm199BQw= - dependencies: - constantinople "^3.0.1" - doctypes "^1.1.0" - js-stringify "^1.0.1" - pug-attrs "^2.0.3" - pug-error "^1.3.2" - pug-runtime "^2.0.4" - void-elements "^2.0.1" - with "^5.0.0" - -pug-error@^1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/pug-error/-/pug-error-1.3.2.tgz#53ae7d9d29bb03cf564493a026109f54c47f5f26" - integrity sha1-U659nSm7A89WRJOgJhCfVMR/XyY= - -pug-filters@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.0.tgz#27165555bc04c236e4aa2b0366246dfa021b626e" - integrity sha1-JxZVVbwEwjbkqisDZiRt+gIbYm4= - dependencies: - clean-css "^4.1.11" - constantinople "^3.0.1" - jstransformer "1.0.0" - pug-error "^1.3.2" - pug-walk "^1.1.7" - resolve "^1.1.6" - uglify-js "^2.6.1" - -pug-lexer@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.0.0.tgz#210c18457ef2e1760242740c5e647bd794cec278" - integrity sha1-IQwYRX7y4XYCQnQMXmR715TOwng= - dependencies: - character-parser "^2.1.1" - is-expression "^3.0.0" - pug-error "^1.3.2" - -pug-linker@^3.0.5: - version "3.0.5" - resolved "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.5.tgz#9e9a7ae4005682d027deeb96b000f88eeb83a02f" - integrity sha1-npp65ABWgtAn3uuWsAD4juuDoC8= - dependencies: - pug-error "^1.3.2" - pug-walk "^1.1.7" - -pug-load@^2.0.11: - version "2.0.11" - resolved "https://registry.npmjs.org/pug-load/-/pug-load-2.0.11.tgz#e648e57ed113fe2c1f45d57858ea2bad6bc01527" - integrity sha1-5kjlftET/iwfRdV4WOorrWvAFSc= - dependencies: - object-assign "^4.1.0" - pug-walk "^1.1.7" - -pug-parser@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.0.tgz#e394ad9b3fca93123940aff885c06e44ab7e68e4" - integrity sha1-45Stmz/KkxI5QK/4hcBuRKt+aOQ= - dependencies: - pug-error "^1.3.2" - token-stream "0.0.1" - -pug-plain-loader@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/pug-plain-loader/-/pug-plain-loader-1.0.0.tgz#cef2a984c90251882109ec2d417a6b433aa6b42a" - integrity sha512-mDfq/qvJJ0xdug38mZ1ObW0BQTx9kAHnKqotXC+C00XQkKmsWaMe90JUg/kN4lS6MU7tpVsMZ+rmcnBSPfDtHA== - dependencies: - loader-utils "^1.1.0" - -pug-runtime@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.4.tgz#e178e1bda68ab2e8c0acfc9bced2c54fd88ceb58" - integrity sha1-4XjhvaaKsujArPybztLFT9iM61g= - -pug-strip-comments@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.3.tgz#f1559592206edc6f85310dacf4afb48a025af59f" - integrity sha1-8VWVkiBu3G+FMQ2s9K+0igJa9Z8= - dependencies: - pug-error "^1.3.2" - -pug-walk@^1.1.7: - version "1.1.7" - resolved "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.7.tgz#c00d5c5128bac5806bec15d2b7e7cdabe42531f3" - integrity sha1-wA1cUSi6xYBr7BXSt+fNq+QlMfM= - -pug@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/pug/-/pug-2.0.3.tgz#71cba82537c95a5eab7ed04696e4221f53aa878e" - integrity sha1-ccuoJTfJWl6rftBGluQiH1Oqh44= - dependencies: - pug-code-gen "^2.0.1" - pug-filters "^3.1.0" - pug-lexer "^4.0.0" - pug-linker "^3.0.5" - pug-load "^2.0.11" - pug-parser "^5.0.0" - pug-runtime "^2.0.4" - pug-strip-comments "^1.0.3" - pump@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" @@ -9211,10 +9124,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer-core@^1.13.0: - version "1.13.0" - resolved "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-1.13.0.tgz#f8001851e924e6e9ef6e9fae1778c3ab87c3f307" - integrity sha512-8MypjWVHu2EEdtN2HxhCsTtIYdJgiCcbGpHoosv265fzanfOICC2/DadLZq6/Qc/OKsovQmjkO+2vKMrV3BRfA== +puppeteer-core@^1.14.0: + version "1.14.0" + resolved "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-1.14.0.tgz#1c3dfe275cee6edbe1b5c1104023256f42c071e5" + integrity sha512-MCggbALqO0uZnfo3uDPfCn5HRfIznnBHE4KM3QeiDY4lre/QHOlEnOevKhyiswriTde4+4WkiCzSK0Eaz0QFqw== dependencies: debug "^4.1.0" extract-zip "^1.6.6" @@ -9235,6 +9148,15 @@ qs@6.5.2, qs@~6.5.2: resolved "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +query-string@^5.0.1: + version "5.1.1" + resolved "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" + integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== + dependencies: + decode-uri-component "^0.2.0" + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -9291,9 +9213,9 @@ rc@^1.2.7: strip-json-comments "~2.0.1" react-is@^16.8.4: - version "16.8.4" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.8.4.tgz#90f336a68c3a29a096a3d648ab80e87ec61482a2" - integrity sha512-PVadd+WaUDOAciICm/J1waJaSvgq+4rHE/K70j0PFqKhkTBsPv/82UGQJNXAngz1fOQLLxI6z1sEDmJDQhCTAA== + version "16.8.6" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16" + integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA== read-cache@^1.0.0: version "1.0.0" @@ -9474,11 +9396,6 @@ regenerate@^1.4.0: resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - regenerator-runtime@^0.13.2: version "0.13.2" resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz#32e59c9a6fb9b1a4aff09b4930ca2d4477343447" @@ -9509,7 +9426,7 @@ regexpp@^2.0.1: resolved "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== -regexpu-core@^4.1.3, regexpu-core@^4.5.4: +regexpu-core@^4.5.4: version "4.5.4" resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" integrity sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ== @@ -9533,7 +9450,7 @@ regjsparser@^0.6.0: dependencies: jsesc "~0.5.0" -relateurl@0.2.x: +relateurl@0.2.x, relateurl@^0.2.7: version "0.2.7" resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= @@ -9559,7 +9476,7 @@ repeat-element@^1.1.2: resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== -repeat-string@^1.5.2, repeat-string@^1.6.1: +repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= @@ -9655,7 +9572,7 @@ resolve@1.1.7: resolved "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.x, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0: +resolve@1.x, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0: version "1.10.0" resolved "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== @@ -9695,13 +9612,6 @@ rgba-regex@^1.0.0: resolved "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8= - dependencies: - align-text "^0.1.1" - rimraf@2, rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: version "2.6.3" resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" @@ -9732,15 +9642,15 @@ rollup-plugin-babel@^4.3.2: "@babel/helper-module-imports" "^7.0.0" rollup-pluginutils "^2.3.0" -rollup-plugin-commonjs@^9.2.1: - version "9.2.1" - resolved "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.2.1.tgz#bb151ca8fa23600c7a03e25f9f0a45b1ee922dac" - integrity sha512-X0A/Cp/t+zbONFinBhiTZrfuUaVwRIp4xsbKq/2ohA2CDULa/7ONSJTelqxon+Vds2R2t2qJTqJQucKUC8GKkw== +rollup-plugin-commonjs@^9.3.3: + version "9.3.3" + resolved "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.3.3.tgz#763415c1c52e0504ef854f794a7e7053002a5a85" + integrity sha512-p/zVsRv/Vp67CRuDjtpF7LTlRze+CZFSwdDJFUtWfk4Pd6HLypZHRm/XuxmsBKUJ8cjgDSgE0bVymAn2kg5mvg== dependencies: - estree-walker "^0.5.2" - magic-string "^0.25.1" + estree-walker "^0.6.0" + magic-string "^0.25.2" resolve "^1.10.0" - rollup-pluginutils "^2.3.3" + rollup-pluginutils "^2.6.0" rollup-plugin-json@^4.0.0: version "4.0.0" @@ -9777,7 +9687,7 @@ rollup-plugin-replace@^2.1.1: magic-string "^0.25.2" rollup-pluginutils "^2.4.1" -rollup-pluginutils@^2.3.0, rollup-pluginutils@^2.3.3, rollup-pluginutils@^2.4.1, rollup-pluginutils@^2.5.0: +rollup-pluginutils@^2.3.0, rollup-pluginutils@^2.4.1, rollup-pluginutils@^2.5.0: version "2.5.0" resolved "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.5.0.tgz#23be0f05ac3972ea7b08fc7870cb91fde5b23a09" integrity sha512-9Muh1H+XB5f5ONmKMayUoTYR1EZwHbwJJ9oZLrKT5yuTf/RLIQ5mYIGsrERquVucJmjmaAW0Y7+6Qo1Ep+5w3Q== @@ -9785,13 +9695,21 @@ rollup-pluginutils@^2.3.0, rollup-pluginutils@^2.3.3, rollup-pluginutils@^2.4.1, estree-walker "^0.6.0" micromatch "^3.1.10" -rollup@^1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/rollup/-/rollup-1.7.0.tgz#2f5063c0f344f2225d1077655dc54d105a512bb2" - integrity sha512-hjuWSCgoQsFSTsmsNP4AH1l1kfkFqW82gW00V9nL81Zr3JtnKn3rvxh18jUAAEMb7qNoHj21PR5SqbK2mhBgMg== +rollup-pluginutils@^2.6.0: + version "2.6.0" + resolved "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.6.0.tgz#203706edd43dfafeaebc355d7351119402fc83ad" + integrity sha512-aGQwspEF8oPKvg37u3p7h0cYNwmJR1sCBMZGZ5b9qy8HGtETknqjzcxrDRrcAnJNXN18lBH4Q9vZYth/p4n8jQ== + dependencies: + estree-walker "^0.6.0" + micromatch "^3.1.10" + +rollup@^1.8.0: + version "1.8.0" + resolved "https://registry.npmjs.org/rollup/-/rollup-1.8.0.tgz#e3ce8b708ad4325166717f74f244f691595d35e2" + integrity sha512-dKxL6ihUZ9YrVySKf/LBz5joW2sqwWkiuki34279Ppr2cL+O6Za6Ujovk+rtTX0AFCIsH1rs6y8LYKdZZ/7C5A== dependencies: "@types/estree" "0.0.39" - "@types/node" "^11.9.5" + "@types/node" "^11.11.6" acorn "^6.1.1" rsvp@^4.8.4: @@ -9874,9 +9792,14 @@ schema-utils@^1.0.0: ajv-keywords "^3.1.0" "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.1, semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: - version "5.6.0" - resolved "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" - integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== + version "5.7.0" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" + integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== + +semver@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz#05e359ee571e5ad7ed641a6eec1e547ba52dea65" + integrity sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ== semver@~5.3.0: version "5.3.0" @@ -10103,10 +10026,10 @@ sort-object-keys@^1.1.2: resolved "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.2.tgz#d3a6c48dc2ac97e6bc94367696e03f6d09d37952" integrity sha1-06bEjcKsl+a8lDZ2luA/bQnTeVI= -sort-package-json@^1.21.0: - version "1.21.0" - resolved "https://registry.npmjs.org/sort-package-json/-/sort-package-json-1.21.0.tgz#9501273da130693b4dd1ebe68882d1d289119546" - integrity sha512-G920kGKROov3kS32jnmf03YolcGTkdONKbOv+Hi1Db7D9lBXhNU5aNMZCE0j/hfDqd/zmPVmpSiuhSOt3Lv+4A== +sort-package-json@^1.22.1: + version "1.22.1" + resolved "https://registry.npmjs.org/sort-package-json/-/sort-package-json-1.22.1.tgz#384ce7a098cd13be4109800d5ce2f0cf7826052e" + integrity sha512-uVINQraFQvnlzNHFnQOT4MYy0qonIEzKwhrI2yrTiQjNo5QF4h3ffrnCk7a95QAwoK/RdkO/w8W9tJIcaOWC7g== dependencies: detect-indent "^5.0.0" sort-object-keys "^1.1.2" @@ -10145,7 +10068,7 @@ source-map@0.5.6: resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" integrity sha1-dc449SvwczxafwwRjYEzSiu19BI= -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1: +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6: version "0.5.7" resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -10321,6 +10244,11 @@ stream-shift@^1.0.0: resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + string-length@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" @@ -10681,11 +10609,6 @@ to-arraybuffer@^1.0.0: resolved "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -10716,11 +10639,6 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" -token-stream@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz#ceeefc717a76c4316f126d0b9dbaa55d7e7df01a" - integrity sha1-zu78cXp2xDFvEm0LnbqlXX598Bo= - toposort@^1.0.0: version "1.0.7" resolved "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" @@ -10789,10 +10707,10 @@ ts-jest@^23.10.5: semver "^5.5" yargs-parser "10.x" -ts-jest@^24.0.0: - version "24.0.0" - resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-24.0.0.tgz#3f26bf2ec1fa584863a5a9c29bd8717d549efbf6" - integrity sha512-o8BO3TkMREpAATaFTrXkovMsCpBl2z4NDBoLJuWZcJJj1ijI49UnvDMfVpj+iogn/Jl8Pbhuei5nc/Ti+frEHw== +ts-jest@^24.0.1: + version "24.0.1" + resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-24.0.1.tgz#77258061cc354c3fa8616b8ac03baa0f8580f854" + integrity sha512-mgNZmYPuGBNgYpUzchI7vdSr6zATQI0TrSyzREnXHuPCvlW8T1DQ/fdscgx4ivS5vAMUGUaoxGdWIVHC5I8imw== dependencies: bs-logger "0.x" buffer-from "1.x" @@ -10831,10 +10749,10 @@ tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== -tslint@^5.14.0: - version "5.14.0" - resolved "https://registry.npmjs.org/tslint/-/tslint-5.14.0.tgz#be62637135ac244fc9b37ed6ea5252c9eba1616e" - integrity sha512-IUla/ieHVnB8Le7LdQFRGlVJid2T/gaJe5VkjzRVSRR6pA2ODYrnfR1hmxi+5+au9l50jBwpbBL34txgv4NnTQ== +tslint@^5.15.0: + version "5.15.0" + resolved "https://registry.npmjs.org/tslint/-/tslint-5.15.0.tgz#6ffb180986d63afa1e531feb2a134dbf961e27d3" + integrity sha512-6bIEujKR21/3nyeoX2uBnE8s+tMXCQXhqMmaIPJpHmXJoBJPTLcI7/VHRtUwMhnLVdwLqqY3zmd8Dxqa5CVdJA== dependencies: babel-code-frame "^6.22.0" builtin-modules "^1.1.1" @@ -10842,7 +10760,7 @@ tslint@^5.14.0: commander "^2.12.1" diff "^3.2.0" glob "^7.1.1" - js-yaml "^3.7.0" + js-yaml "^3.13.0" minimatch "^3.0.4" mkdirp "^0.5.1" resolve "^1.3.2" @@ -10894,10 +10812,10 @@ typedarray@^0.0.6: resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^3.3.4000: - version "3.3.4000" - resolved "https://registry.npmjs.org/typescript/-/typescript-3.3.4000.tgz#76b0f89cfdbf97827e1112d64f283f1151d6adf0" - integrity sha512-jjOcCZvpkl2+z7JFn0yBOoLQyLoIkNZAs/fYJkUG6VKy6zLPHJGfQJYFHzibB6GJaF/8QrcECtlQ5cpvRHSMEA== +typescript@^3.4.1: + version "3.4.1" + resolved "https://registry.npmjs.org/typescript/-/typescript-3.4.1.tgz#b6691be11a881ffa9a05765a205cb7383f3b63c6" + integrity sha512-3NSMb2VzDQm8oBTLH6Nj55VVtUEpe/rgkIzMir0qVoLyjDZlnMBva0U6vDiV3IH+sl/Yu6oP5QwsAQtHPmDd2Q== ua-parser-js@^0.7.19: version "0.7.19" @@ -10912,28 +10830,21 @@ uglify-js@3.4.x: commander "~2.19.0" source-map "~0.6.1" -uglify-js@^2.6.1: - version "2.8.29" - resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" - integrity sha1-KcVzMUgFe7Th913zW3qcty5qWd0= - dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - uglify-js@^3.1.4: - version "3.5.1" - resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.1.tgz#29cb91e76c9941899bc74b075ad0e6da9250abd5" - integrity sha512-kI+3c+KphOAKIikQsZoT2oDsVYH5qvhpTtFObfMCdhPAYnjSvmW4oTWMhvDD4jtAGHJwztlBXQgozGcq3Xw9oQ== + version "3.5.2" + resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.2.tgz#dc0c7ac2da0a4b7d15e84266818ff30e82529474" + integrity sha512-imog1WIsi9Yb56yRt5TfYVxGmnWs3WSGU73ieSOlMVFwhJCA9W8fqFFMMj4kgDqiS/80LGdsYnWL7O9UcjEBlg== dependencies: commander "~2.19.0" source-map "~0.6.1" -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc= +uglify-js@^3.5.1: + version "3.5.3" + resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.3.tgz#d490bb5347f23025f0c1bc0dee901d98e4d6b063" + integrity sha512-rIQPT2UMDnk4jRX+w4WO84/pebU2jiLsjgIyrCktYgSvx28enOE3iYQMr+BD1rHiitWnDmpu0cY/LfIEpKcjcw== + dependencies: + commander "~2.19.0" + source-map "~0.6.1" uid-number@0.0.6: version "0.0.6" @@ -11037,7 +10948,7 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -upath@^1.1.0, upath@^1.1.2: +upath@^1.1.1, upath@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== @@ -11174,15 +11085,10 @@ vm-browserify@0.0.4: dependencies: indexof "0.0.1" -void-elements@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" - integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= - vue-class-component@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/vue-class-component/-/vue-class-component-7.0.1.tgz#7af2225c600667c7042b60712eefdf41dfc6de63" - integrity sha512-YIihdl7YmceEOjSwcxLhCXCNA3TKC2FStuMcjtuzhUAgw5x5d1T5gZTmVQHGyOaQsaKffL4GlZzYN3dlMYl53w== + version "7.0.2" + resolved "https://registry.npmjs.org/vue-class-component/-/vue-class-component-7.0.2.tgz#c5f35a91c0e9341532392b84d606a84911fb13bc" + integrity sha512-8xw/wkZI2tgHcwvkSRC1ax7GeP1CG27wKhedvOAdjdASm05VU4RijGsCYti6s6CzBioBL5BQUmntQQTCsp1wnQ== vue-eslint-parser@^5.0.0: version "5.0.0" @@ -11224,12 +11130,12 @@ vue-loader@^15.7.0: vue-hot-reload-api "^2.3.0" vue-style-loader "^4.1.0" -vue-meta@^1.5.8: - version "1.5.8" - resolved "https://registry.npmjs.org/vue-meta/-/vue-meta-1.5.8.tgz#1088d50cdf770525e37430186781bede929370a4" - integrity sha512-cF/ADL1kA8Gn6wfSx0+kYIPAmJ49y9R0QlMS9tg5ddDDZWaZMZ0rveFWaTOKr0eabUV/H3D9ip68Xt9f5SFbyA== +vue-meta@^1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/vue-meta/-/vue-meta-1.6.0.tgz#89b664f6011a207e098e8ba3b9d32e29c819b65d" + integrity sha512-LLHejsOYbJiSEDSgZvjHB3fFY7lUxsDFLkuSqf5eBohEvhhddBTOHa3heoFTcI5sxsZSZt26uUzoLVe4CT6Y4A== dependencies: - deepmerge "^3.0.0" + deepmerge "^3.2.0" lodash.isplainobject "^4.0.6" lodash.uniqueid "^4.0.1" object-assign "^4.1.1" @@ -11304,15 +11210,15 @@ w3c-hr-time@^1.0.1: browser-process-hrtime "^0.1.2" w3c-xmlserializer@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.0.1.tgz#054cdcd359dc5d1f3ec9be4e272c756af4b21d39" - integrity sha512-XZGI1OH/OLQr/NaJhhPmzhngwcAnZDLytsvXnRmlYeRkmbb0I7sqFFA22erq4WQR0sUu17ZSQOAV9mFwCqKRNg== + version "1.1.2" + resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" + integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== dependencies: domexception "^1.0.1" webidl-conversions "^4.0.2" xml-name-validator "^3.0.0" -walker@~1.0.5: +walker@^1.0.7, walker@~1.0.5: version "1.0.7" resolved "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= @@ -11359,10 +11265,10 @@ webpack-bundle-analyzer@^3.1.0: opener "^1.5.1" ws "^6.0.0" -webpack-dev-middleware@^3.6.1: - version "3.6.1" - resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.6.1.tgz#91f2531218a633a99189f7de36045a331a4b9cd4" - integrity sha512-XQmemun8QJexMEvNFbD2BIg4eSKrmSIMrTfnl2nql2Sc6OGAYFyb8rwuYrCjl/IiEYYuyTEiimMscu7EXji/Dw== +webpack-dev-middleware@^3.6.2: + version "3.6.2" + resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.6.2.tgz#f37a27ad7c09cd7dc67cd97655413abaa1f55942" + integrity sha512-A47I5SX60IkHrMmZUlB0ZKSWi29TZTcPz7cha1Z75yYOsgWh/1AcPmQEbC8ZIbU3A1ytSv1PMU0PyPz2Lmz2jg== dependencies: memory-fs "^0.4.1" mime "^2.3.1" @@ -11500,11 +11406,6 @@ widest-line@^2.0.0: dependencies: string-width "^2.1.1" -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0= - windows-release@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/windows-release/-/windows-release-3.1.0.tgz#8d4a7e266cbf5a233f6c717dac19ce00af36e12e" @@ -11512,19 +11413,6 @@ windows-release@^3.1.0: dependencies: execa "^0.10.0" -with@^5.0.0: - version "5.1.1" - resolved "https://registry.npmjs.org/with/-/with-5.1.1.tgz#fa4daa92daf32c4ea94ed453c81f04686b575dfe" - integrity sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4= - dependencies: - acorn "^3.1.0" - acorn-globals "^3.0.0" - -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8= - wordwrap@~0.0.2: version "0.0.3" resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" @@ -11559,10 +11447,10 @@ wrap-ansi@^4.0.0: string-width "^2.1.1" strip-ansi "^4.0.0" -wrap-ansi@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.0.0.tgz#c3838a85fbac6a647558ca97024d41d7631721dc" - integrity sha512-3ThemJUfTTju0SKG2gjGExzGRHxT5l/KEM5sff3TQReaVWe/bFTiF1GEr8DKr/j0LxGt8qPzx0yhd2RLyqgy2Q== +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== dependencies: ansi-styles "^3.2.0" string-width "^3.0.0" @@ -11626,9 +11514,9 @@ ws@^5.2.0: async-limiter "~1.0.0" ws@^6.0.0, ws@^6.1.0, ws@^6.1.2, ws@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/ws/-/ws-6.2.0.tgz#13806d9913b2a5f3cbb9ba47b563c002cbc7c526" - integrity sha512-deZYUNlt2O4buFCa3t5bKLf8A7FPP/TVjwOeVNpw818Ma5nk4MLXls2eoEGS39o8119QIYxTrTDoPQ5B/gTD6w== + version "6.2.1" + resolved "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" + integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== dependencies: async-limiter "~1.0.0" @@ -11702,16 +11590,6 @@ yargs@^12.0.1, yargs@^12.0.2: y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - integrity sha1-9+572FfdfB0tOMDnTvvWgdFDH9E= - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" - yauzl@2.4.1: version "2.4.1" resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005"