From 19e05697a64acf367b26f8c634a24bd3e82475ff Mon Sep 17 00:00:00 2001 From: Shigma <33423008+Shigma@users.noreply.github.com> Date: Sun, 31 Mar 2019 01:36:12 +0800 Subject: [PATCH 01/24] feat($core): functional siteConfig.evergreen (#1489) --- packages/@vuepress/core/lib/node/webpack/createBaseConfig.js | 5 ++++- packages/docs/docs/config/README.md | 2 +- packages/docs/docs/zh/config/README.md | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/@vuepress/core/lib/node/webpack/createBaseConfig.js b/packages/@vuepress/core/lib/node/webpack/createBaseConfig.js index 1bbd5caf..f90ba6ff 100644 --- a/packages/@vuepress/core/lib/node/webpack/createBaseConfig.js +++ b/packages/@vuepress/core/lib/node/webpack/createBaseConfig.js @@ -127,7 +127,10 @@ module.exports = function createBaseConfig (context, isServer) { .loader('pug-plain-loader') .end() - if (!siteConfig.evergreen) { + const evergreen = typeof siteConfig.evergreen === 'function' + ? siteConfig.evergreen() + : siteConfig.evergreen + if (!evergreen) { const libDir = path.join(__dirname, '..') config.module .rule('js') diff --git a/packages/docs/docs/config/README.md b/packages/docs/docs/config/README.md index 0dfe76dc..88600862 100644 --- a/packages/docs/docs/config/README.md +++ b/packages/docs/docs/config/README.md @@ -356,7 +356,7 @@ module.exports = { ### evergreen -- Type: `boolean` +- Type: `boolean | Function` - Default: `false` Set to `true` if you are only targeting evergreen browsers. This will disable ES5 transpilation and polyfills for IE, and result in faster builds and smaller files. diff --git a/packages/docs/docs/zh/config/README.md b/packages/docs/docs/zh/config/README.md index 21956e7a..20f863a3 100644 --- a/packages/docs/docs/zh/config/README.md +++ b/packages/docs/docs/zh/config/README.md @@ -348,7 +348,7 @@ module.exports = { ### evergreen -- 类型: `boolean` +- 类型: `boolean | Function` - 默认值: `false` 如果你的对象只有那些 “常青树” 浏览器,你可以将其设置成 `true`,这将会禁止 ESNext 到 ES5 的转译以及对 IE 的 polyfills,同时会带来更快的构建速度和更小的文件体积。 From c88f9830eecd086e876255aec3a144b5d7345c0d Mon Sep 17 00:00:00 2001 From: Shigma <33423008+Shigma@users.noreply.github.com> Date: Sun, 31 Mar 2019 01:38:57 +0800 Subject: [PATCH 02/24] chore: remove plugin-container (#1462) --- packages/@vuepress/core/lib/node/App.js | 4 +- packages/@vuepress/core/package.json | 2 +- .../@vuepress/plugin-container/.npmignore | 3 - packages/@vuepress/plugin-container/README.md | 5 -- .../__snapshots__/index.spec.js.snap | 48 ----------- .../__tests__/fragments/danger.md | 3 - .../__tests__/fragments/markdown-slots.md | 10 --- .../__tests__/fragments/tip-override.md | 3 - .../__tests__/fragments/tip.md | 3 - .../__tests__/fragments/v-pre.md | 3 - .../__tests__/fragments/warning.md | 3 - .../plugin-container/__tests__/index.spec.js | 36 --------- packages/@vuepress/plugin-container/index.js | 50 ------------ .../@vuepress/plugin-container/package.json | 32 -------- packages/@vuepress/theme-default/index.js | 21 ++++- packages/@vuepress/theme-default/package.json | 4 +- packages/docs/docs/.vuepress/config.js | 4 +- packages/docs/docs/guide/markdown.md | 2 +- .../docs/plugin/official/plugin-container.md | 80 ------------------- packages/docs/docs/zh/guide/markdown.md | 2 +- .../zh/plugin/official/plugin-container.md | 80 ------------------- .../docs/zh/theme/default-theme-config.md | 2 +- packages/docs/docs/zh/theme/using-a-theme.md | 2 +- yarn.lock | 7 ++ 24 files changed, 36 insertions(+), 373 deletions(-) delete mode 100644 packages/@vuepress/plugin-container/.npmignore delete mode 100644 packages/@vuepress/plugin-container/README.md delete mode 100644 packages/@vuepress/plugin-container/__tests__/__snapshots__/index.spec.js.snap delete mode 100644 packages/@vuepress/plugin-container/__tests__/fragments/danger.md delete mode 100644 packages/@vuepress/plugin-container/__tests__/fragments/markdown-slots.md delete mode 100644 packages/@vuepress/plugin-container/__tests__/fragments/tip-override.md delete mode 100644 packages/@vuepress/plugin-container/__tests__/fragments/tip.md delete mode 100644 packages/@vuepress/plugin-container/__tests__/fragments/v-pre.md delete mode 100644 packages/@vuepress/plugin-container/__tests__/fragments/warning.md delete mode 100644 packages/@vuepress/plugin-container/__tests__/index.spec.js delete mode 100644 packages/@vuepress/plugin-container/index.js delete mode 100644 packages/@vuepress/plugin-container/package.json delete mode 100644 packages/docs/docs/plugin/official/plugin-container.md delete mode 100644 packages/docs/docs/zh/plugin/official/plugin-container.md diff --git a/packages/@vuepress/core/lib/node/App.js b/packages/@vuepress/core/lib/node/App.js index 87f78438..8684b652 100755 --- a/packages/@vuepress/core/lib/node/App.js +++ b/packages/@vuepress/core/lib/node/App.js @@ -149,12 +149,12 @@ module.exports = class App { .use(require('./internal-plugins/transformModule')) .use(require('./internal-plugins/dataBlock')) .use(require('./internal-plugins/frontmatterBlock')) - .use('@vuepress/container', { + .use('container', { type: 'slot', before: info => `' }) - .use('@vuepress/container', { + .use('container', { type: 'v-pre', before: '
', after: '
' diff --git a/packages/@vuepress/core/package.json b/packages/@vuepress/core/package.json index 168125b1..a8b8fccb 100644 --- a/packages/@vuepress/core/package.json +++ b/packages/@vuepress/core/package.json @@ -33,7 +33,6 @@ "@vue/babel-preset-app": "^3.1.1", "@vuepress/markdown": "^1.0.0-alpha.44", "@vuepress/markdown-loader": "^1.0.0-alpha.44", - "@vuepress/plugin-container": "^1.0.0-alpha.44", "@vuepress/plugin-last-updated": "^1.0.0-alpha.44", "@vuepress/plugin-register-components": "^1.0.0-alpha.44", "@vuepress/shared-utils": "^1.0.0-alpha.44", @@ -60,6 +59,7 @@ "vue-server-renderer": "^2.5.16", "vue-template-compiler": "^2.5.16", "vuepress-html-webpack-plugin": "^3.2.0", + "vuepress-plugin-container": "^2.0.0", "webpack": "^4.8.1", "webpack-chain": "^4.6.0", "webpack-dev-server": "^3.1.14", diff --git a/packages/@vuepress/plugin-container/.npmignore b/packages/@vuepress/plugin-container/.npmignore deleted file mode 100644 index 13c38ea3..00000000 --- a/packages/@vuepress/plugin-container/.npmignore +++ /dev/null @@ -1,3 +0,0 @@ -__tests__ -__mocks__ -.temp diff --git a/packages/@vuepress/plugin-container/README.md b/packages/@vuepress/plugin-container/README.md deleted file mode 100644 index a7910b2d..00000000 --- a/packages/@vuepress/plugin-container/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# @vuepress/plugin-container - -> markdown container plugin for vuepress - -See [documentation](https://v1.vuepress.vuejs.org/plugin/official/plugin-container.html). diff --git a/packages/@vuepress/plugin-container/__tests__/__snapshots__/index.spec.js.snap b/packages/@vuepress/plugin-container/__tests__/__snapshots__/index.spec.js.snap deleted file mode 100644 index f67ad8f0..00000000 --- a/packages/@vuepress/plugin-container/__tests__/__snapshots__/index.spec.js.snap +++ /dev/null @@ -1,48 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`containers danger.md 1`] = ` -
-

DANGER

-

I am a danger

-
-`; - -exports[`containers markdown-slots.md 1`] = ` - - - -`; - -exports[`containers tip.md 1`] = ` -
-

TIP

-

I am a tip

-
-`; - -exports[`containers tip-override.md 1`] = ` -
-

提示

-

I am a tip

-
-`; - -exports[`containers v-pre.md 1`] = ` -
-

I am a v-pre

-
-`; - -exports[`containers warning.md 1`] = ` -
-

WARNING

-

I am a warning

-
-`; diff --git a/packages/@vuepress/plugin-container/__tests__/fragments/danger.md b/packages/@vuepress/plugin-container/__tests__/fragments/danger.md deleted file mode 100644 index 2f2aa62c..00000000 --- a/packages/@vuepress/plugin-container/__tests__/fragments/danger.md +++ /dev/null @@ -1,3 +0,0 @@ -::: danger -I am a danger -::: diff --git a/packages/@vuepress/plugin-container/__tests__/fragments/markdown-slots.md b/packages/@vuepress/plugin-container/__tests__/fragments/markdown-slots.md deleted file mode 100644 index c6c60ab8..00000000 --- a/packages/@vuepress/plugin-container/__tests__/fragments/markdown-slots.md +++ /dev/null @@ -1,10 +0,0 @@ -::: slot header -# Here might be a page title -::: - -- A Paragraph -- Another Paragraph - -::: slot footer -Here's some contact info -::: diff --git a/packages/@vuepress/plugin-container/__tests__/fragments/tip-override.md b/packages/@vuepress/plugin-container/__tests__/fragments/tip-override.md deleted file mode 100644 index 2ba47c38..00000000 --- a/packages/@vuepress/plugin-container/__tests__/fragments/tip-override.md +++ /dev/null @@ -1,3 +0,0 @@ -::: tip 提示 -I am a tip -::: diff --git a/packages/@vuepress/plugin-container/__tests__/fragments/tip.md b/packages/@vuepress/plugin-container/__tests__/fragments/tip.md deleted file mode 100644 index e9b82b19..00000000 --- a/packages/@vuepress/plugin-container/__tests__/fragments/tip.md +++ /dev/null @@ -1,3 +0,0 @@ -::: tip -I am a tip -::: diff --git a/packages/@vuepress/plugin-container/__tests__/fragments/v-pre.md b/packages/@vuepress/plugin-container/__tests__/fragments/v-pre.md deleted file mode 100644 index f1694023..00000000 --- a/packages/@vuepress/plugin-container/__tests__/fragments/v-pre.md +++ /dev/null @@ -1,3 +0,0 @@ -::: v-pre -I am a v-pre -::: diff --git a/packages/@vuepress/plugin-container/__tests__/fragments/warning.md b/packages/@vuepress/plugin-container/__tests__/fragments/warning.md deleted file mode 100644 index 37aa641b..00000000 --- a/packages/@vuepress/plugin-container/__tests__/fragments/warning.md +++ /dev/null @@ -1,3 +0,0 @@ -::: warning -I am a warning -::: diff --git a/packages/@vuepress/plugin-container/__tests__/index.spec.js b/packages/@vuepress/plugin-container/__tests__/index.spec.js deleted file mode 100644 index b1efaa99..00000000 --- a/packages/@vuepress/plugin-container/__tests__/index.spec.js +++ /dev/null @@ -1,36 +0,0 @@ -const { createApp } = require('@vuepress/core') -const { getFragments } = require('@vuepress/test-utils') -import containerPlugin from '..' - -describe('containers', async () => { - let app - - beforeAll(async () => { - app = createApp() - app.options.siteConfig = { - plugins: [ - [containerPlugin, { type: 'tip' }], - [containerPlugin, { type: 'warning' }], - [containerPlugin, { type: 'danger' }], - [containerPlugin, { - type: 'slot', - before: info => `' - }], - [containerPlugin, { - type: 'v-pre', - before: '
', - after: '
' - }] - ] - } - return app.process() - }) - - getFragments(__dirname).forEach(({ name, content: input }) => { - test(name, () => { - const { html } = app.markdown.render(input) - expect(html).toMatchSnapshot() - }) - }) -}) diff --git a/packages/@vuepress/plugin-container/index.js b/packages/@vuepress/plugin-container/index.js deleted file mode 100644 index 6d995b4b..00000000 --- a/packages/@vuepress/plugin-container/index.js +++ /dev/null @@ -1,50 +0,0 @@ -const container = require('markdown-it-container') - -function call (target, ...args) { - if (typeof target === 'function') { - return target(...args) - } else { - return target - } -} - -module.exports = (options, context) => ({ - name: require('./package').name, - - multiple: true, - - extendMarkdown (md) { - const { - validate, - marker, - before, - after, - type = '', - defaultTitle = type.toUpperCase() - } = options - if (!type) return - - let { render } = options - if (!render) { - if (before !== undefined && after !== undefined) { - render = (tokens, index) => { - const info = tokens[index].info.trim().slice(type.length).trim() - return tokens[index].nesting === 1 ? call(before, info) : call(after, info) - } - } else { - render = (tokens, index) => { - const token = tokens[index] - let title = token.info.trim().slice(type.length).trim() || defaultTitle - if (title) title = `

${title}

` - if (token.nesting === 1) { - return `
${title}\n` - } else { - return `
\n` - } - } - } - } - - md.use(container, type, { render, validate, marker }) - } -}) diff --git a/packages/@vuepress/plugin-container/package.json b/packages/@vuepress/plugin-container/package.json deleted file mode 100644 index f1489705..00000000 --- a/packages/@vuepress/plugin-container/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "@vuepress/plugin-container", - "version": "1.0.0-alpha.44", - "description": "markdown container plugin for vuepress", - "main": "index.js", - "publishConfig": { - "access": "public" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/vuejs/vuepress.git", - "directory": "packages/@vuepress/plugin-container" - }, - "keywords": [ - "documentation", - "vue", - "vuepress", - "generator" - ], - "dependencies": { - "markdown-it-container": "^2.0.0" - }, - "devDependencies": { - "@vuepress/test-utils": "^1.0.0-alpha.44" - }, - "author": "Shigma <1700011071@pku.edu.cn>", - "license": "MIT", - "bugs": { - "url": "https://github.com/vuejs/vuepress/issues" - }, - "homepage": "https://github.com/vuejs/vuepress/packages/@vuepress/plugin-container#readme" -} diff --git a/packages/@vuepress/theme-default/index.js b/packages/@vuepress/theme-default/index.js index 0bf3d1e8..f6caeda7 100644 --- a/packages/@vuepress/theme-default/index.js +++ b/packages/@vuepress/theme-default/index.js @@ -21,8 +21,23 @@ module.exports = (options, ctx) => ({ '@vuepress/active-header-links', '@vuepress/search', '@vuepress/plugin-nprogress', - ['@vuepress/container', { type: 'tip' }], - ['@vuepress/container', { type: 'warning' }], - ['@vuepress/container', { type: 'danger' }] + ['container', { + type: 'tip', + defaultTitle: { + '/zh/': '提示' + } + }], + ['container', { + type: 'warning', + defaultTitle: { + '/zh/': '注意' + } + }], + ['container', { + type: 'danger', + defaultTitle: { + '/zh/': '警告' + } + }] ] }) diff --git a/packages/@vuepress/theme-default/package.json b/packages/@vuepress/theme-default/package.json index 18690752..316a57e3 100644 --- a/packages/@vuepress/theme-default/package.json +++ b/packages/@vuepress/theme-default/package.json @@ -31,11 +31,11 @@ "homepage": "https://github.com/vuejs/vuepress/packages/@vuepress/theme-default#readme", "dependencies": { "@vuepress/plugin-active-header-links": "^1.0.0-alpha.44", - "@vuepress/plugin-container": "^1.0.0-alpha.44", "@vuepress/plugin-nprogress": "^1.0.0-alpha.44", "@vuepress/plugin-search": "^1.0.0-alpha.44", "docsearch.js": "^2.5.2", "stylus": "^0.54.5", - "stylus-loader": "^3.0.2" + "stylus-loader": "^3.0.2", + "vuepress-plugin-container": "^2.0.0" } } diff --git a/packages/docs/docs/.vuepress/config.js b/packages/docs/docs/.vuepress/config.js index 37ab4d78..63158b8e 100755 --- a/packages/docs/docs/.vuepress/config.js +++ b/packages/docs/docs/.vuepress/config.js @@ -74,12 +74,12 @@ module.exports = ctx => ({ ['@vuepress/google-analytics', { ga: 'UA-128189152-1' }], - ['@vuepress/container', { + ['container', { type: 'vue', before: '
',
       after: '
', }], - ['@vuepress/container', { + ['container', { type: 'upgrade', before: info => ``, after: '', diff --git a/packages/docs/docs/guide/markdown.md b/packages/docs/docs/guide/markdown.md index e2567b11..6a32f0d1 100644 --- a/packages/docs/docs/guide/markdown.md +++ b/packages/docs/docs/guide/markdown.md @@ -167,7 +167,7 @@ Danger zone, do not proceed **Also see:** -- [@vuepress/plugin-container](../plugin/official/plugin-container.md) +- [vuepress-plugin-container](https://vuepress.github.io/plugins/container/) ## Syntax Highlighting in Code Blocks diff --git a/packages/docs/docs/plugin/official/plugin-container.md b/packages/docs/docs/plugin/official/plugin-container.md deleted file mode 100644 index 0ee876ef..00000000 --- a/packages/docs/docs/plugin/official/plugin-container.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: container -metaTitle: A plugin for registering markdown containers | VuePress ---- - -# [@vuepress/plugin-container](https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-container) - -> A plugin for registering markdown containers, based on [markdown-it-container](https://github.com/markdown-it/markdown-it-container). - -## Install - -```bash -yarn add -D @vuepress/plugin-container@next -# OR npm install -D @vuepress/plugin-container@next -``` - -## Usage - -```javascript -module.exports = { - plugins: ['@vuepress/container'] -} -``` - -## Options - -### type - -- Type: `string` -- This is a required option. - -The type for the container. For example, if `type` is set to `foo`, only the following syntax will be parsed as a container: - -```md -::: foo bar -write something here ~ -::: -``` - -### defaultTitle - -- Type: `string` -- Default: the upper case of `type` - -The default title for the container. If no title is provided, `defaultTitle` will be shown as the title of the container. - -### before - -- Type: `string | Function` -- Default: `undefined` - -String to be placed before the block. If specified as a function, an argument `info` will be passed to it. (In the example above, `info` will be `bar`.) If specified, it will override `defaultTitle`. - -### after - -- Type: `string | Function` -- Default: `undefined` - -String to be placed after the block. If specified as a function, an argument `info` will be passed to it. (In the example above, `info` will be `bar`.) If specified, it will override `defaultTitle`. - -### validate - -- Type: `Function` -- Default: `undefined` - -A function to validate tail after opening marker, should return `true` on success. - -### render - -- Type: `Function` -- Default: `undefined` - -The renderer function for opening/closing tokens. If specified, it will override `before`, `after` and `defaultTitle`. - -### marker - -- Type: `string` -- Default: `':'` - -The character to use as a delimiter. diff --git a/packages/docs/docs/zh/guide/markdown.md b/packages/docs/docs/zh/guide/markdown.md index d3810f77..f3047871 100644 --- a/packages/docs/docs/zh/guide/markdown.md +++ b/packages/docs/docs/zh/guide/markdown.md @@ -165,7 +165,7 @@ Danger zone, do not proceed **参考:** -- [@vuepress/plugin-container](../plugin/official/plugin-container.md) +- [vuepress-plugin-container](https://vuepress.github.io/plugins/container/) ## 代码块中的语法高亮 diff --git a/packages/docs/docs/zh/plugin/official/plugin-container.md b/packages/docs/docs/zh/plugin/official/plugin-container.md deleted file mode 100644 index 200aeffb..00000000 --- a/packages/docs/docs/zh/plugin/official/plugin-container.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: container -metaTitle: Markdown 容器插件 | VuePress ---- - -# [@vuepress/plugin-container](https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-container) - -> 用于注册 Markdown 容器的插件,基于 [markdown-it-container](https://github.com/markdown-it/markdown-it-container)。 - -## 安装 - -```bash -yarn add -D @vuepress/plugin-container@next -# OR npm install -D @vuepress/plugin-container@next -``` - -## 使用 - -```javascript -module.exports = { - plugins: ['@vuepress/container'] -} -``` - -## 选项 - -### type - -- 类型: `string` -- 这是一个必需的选项 - -容器的类型。举个例子,如果 `type` 被设置为 `foo`,则仅有下面的语法会被视为对应的容器: - -```md -::: foo bar -随便写点啥 ~ -::: -``` - -### defaultTitle - -- 类型: `string` -- 默认值: `type` 的大写形式 - -容器的默认标题。如果没有提供标题,则会使用 `defaultTitle` 作为容器的标题。 - -### before - -- 类型: `string | Function` -- 默认值: `undefined` - -要插入在容器前的 HTML。如果设置为一个函数,将传入当前的 `info` 作为第一个参数。(在上面的例子中,`info` 的值为 `bar`。)如果设置了这个值,它将覆盖 `defaultTitle` 的效果。 - -### after - -- 类型: `string | Function` -- 默认值: `undefined` - -要插入在容器后的 HTML。如果设置为一个函数,将传入当前的 `info` 作为第一个参数。(在上面的例子中,`info` 的值为 `bar`。)如果设置了这个值,它将覆盖 `defaultTitle` 的效果。 - -### validate - -- 类型: `Function` -- 默认值: `undefined` - -一个用于判定容器是否结束的函数。当认定容器范围结束时应返回一个 `true`。 - -### render - -- 类型: `Function` -- 默认值: `undefined` - -容器开头和结束 token 的渲染函数。如果设置了这个值,它将覆盖 `before`, `after` 和 `defaultTitle` 的效果。 - -### marker - -- 类型: `string` -- 默认值: `':'` - -用于分隔符的字符。 diff --git a/packages/docs/docs/zh/theme/default-theme-config.md b/packages/docs/docs/zh/theme/default-theme-config.md index b31f2567..8516cf5f 100644 --- a/packages/docs/docs/zh/theme/default-theme-config.md +++ b/packages/docs/docs/zh/theme/default-theme-config.md @@ -1,6 +1,6 @@ # 默认主题配置 -::: tip 提示 +::: tip 本页所列的选项仅对默认主题生效。如果你在使用一个自定义主题,选项可能会有不同。 ::: diff --git a/packages/docs/docs/zh/theme/using-a-theme.md b/packages/docs/docs/zh/theme/using-a-theme.md index 2c4f729d..e6b7f3c5 100644 --- a/packages/docs/docs/zh/theme/using-a-theme.md +++ b/packages/docs/docs/zh/theme/using-a-theme.md @@ -46,6 +46,6 @@ module.exports = { } ``` -::: warning 注意 +::: warning 以 `@vuepress/theme-` 开头的主题是官方维护的主题。 ::: diff --git a/yarn.lock b/yarn.lock index c9ecbad5..8ede5424 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9567,6 +9567,13 @@ vuepress-html-webpack-plugin@^3.2.0: toposort "^1.0.0" util.promisify "1.0.0" +vuepress-plugin-container@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/vuepress-plugin-container/-/vuepress-plugin-container-2.0.1.tgz#b20ef97dd91f137c8be119460927c5ffd64e0f77" + integrity sha512-SMlWJl0uZYkqAxD2RUZmIrANZWKgiZdM64K7WmdyHyQPYI+NUj3ugi5D+zDn62BoO9NfQTiskEIa2u619SRweA== + dependencies: + markdown-it-container "^2.0.0" + vuepress-plugin-flowchart@^1.4.2: version "1.4.3" resolved "https://registry.yarnpkg.com/vuepress-plugin-flowchart/-/vuepress-plugin-flowchart-1.4.3.tgz#1692807257c9ba02f764ced0caf930c627f65bdb" From 61c5954aa506cf1603b1846463ab738f5e5b2108 Mon Sep 17 00:00:00 2001 From: Anton Wilhelm Date: Sat, 30 Mar 2019 18:39:43 +0100 Subject: [PATCH 03/24] chore: update issue template (#1492) --- .github/ISSUE_TEMPLATE/feature_request.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 576eb21b..92cf6ab4 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -19,4 +19,4 @@ about: Suggest an idea for this project #### How should this be implemented in your opinion? -#### Are you willing to work on this yourself?** +#### Are you willing to work on this yourself? From 9e07b1e09034b298fd7f7d71cacf0a6f46f3c639 Mon Sep 17 00:00:00 2001 From: Shigma <33423008+Shigma@users.noreply.github.com> Date: Sun, 31 Mar 2019 01:56:34 +0800 Subject: [PATCH 04/24] feat($core): support array as plugin options (#1493) --- packages/@vuepress/core/lib/node/plugin-api/util.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vuepress/core/lib/node/plugin-api/util.js b/packages/@vuepress/core/lib/node/plugin-api/util.js index af2ede44..a0d7be90 100644 --- a/packages/@vuepress/core/lib/node/plugin-api/util.js +++ b/packages/@vuepress/core/lib/node/plugin-api/util.js @@ -22,7 +22,7 @@ exports.flattenPlugin = function ( pluginContext, self ) { - const { valid, warnMsg } = assertTypes(pluginOptions, [Object, Boolean]) + const { valid, warnMsg } = assertTypes(pluginOptions, [Object, Array, Boolean]) if (!valid) { if (pluginOptions !== undefined) { logger.warn( From 699492ad571a2e40ac279781307b234f94acce6a Mon Sep 17 00:00:00 2001 From: ULIVZ <472590061@qq.com> Date: Sun, 31 Mar 2019 23:42:21 +0800 Subject: [PATCH 05/24] fix($core): should default host be 0.0.0.0 ref: https://github.com/CompuIves/codesandbox-client/pull/1652 --- packages/@vuepress/core/lib/node/dev/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vuepress/core/lib/node/dev/index.js b/packages/@vuepress/core/lib/node/dev/index.js index 9f2cf270..ccd1ec5f 100644 --- a/packages/@vuepress/core/lib/node/dev/index.js +++ b/packages/@vuepress/core/lib/node/dev/index.js @@ -266,7 +266,7 @@ module.exports = class DevProcess extends EventEmitter { */ function resolveHost (host) { - const defaultHost = 'localhost' + const defaultHost = '0.0.0.0' host = host || defaultHost const displayHost = host === defaultHost ? 'localhost' From fc99d59f643fb185fda10131331e261364cd951e Mon Sep 17 00:00:00 2001 From: ULIVZ <472590061@qq.com> Date: Sun, 31 Mar 2019 23:43:13 +0800 Subject: [PATCH 06/24] feat($core): allow dynamic routeBase at runtime Setting it via window.__VUEPRESS_ROUTE_BASE__ at enhance app file. --- packages/@vuepress/core/lib/client/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vuepress/core/lib/client/app.js b/packages/@vuepress/core/lib/client/app.js index bcccec17..e89cb21a 100644 --- a/packages/@vuepress/core/lib/client/app.js +++ b/packages/@vuepress/core/lib/client/app.js @@ -62,7 +62,7 @@ Vue.prototype.$withBase = function (path) { export function createApp (isServer) { const router = new Router({ - base: siteData.base, + base: window.__VUEPRESS_ROUTE_BASE__ || siteData.base, mode: 'history', fallback: false, routes, From 816cacd0e370589669e740b5c639c364c42b5668 Mon Sep 17 00:00:00 2001 From: ULIVZ <472590061@qq.com> Date: Sun, 31 Mar 2019 23:52:49 +0800 Subject: [PATCH 07/24] v1.0.0-alpha.45 --- lerna.json | 2 +- packages/@vuepress/core/package.json | 12 ++++++------ packages/@vuepress/markdown-loader/package.json | 4 ++-- packages/@vuepress/markdown/package.json | 6 +++--- .../plugin-active-header-links/package.json | 2 +- packages/@vuepress/plugin-back-to-top/package.json | 2 +- packages/@vuepress/plugin-blog/package.json | 2 +- .../@vuepress/plugin-google-analytics/package.json | 2 +- .../@vuepress/plugin-last-updated/package.json | 2 +- packages/@vuepress/plugin-medium-zoom/package.json | 2 +- packages/@vuepress/plugin-nprogress/package.json | 2 +- packages/@vuepress/plugin-pagination/package.json | 2 +- packages/@vuepress/plugin-pwa/package.json | 4 ++-- .../plugin-register-components/package.json | 4 ++-- packages/@vuepress/plugin-search/package.json | 2 +- packages/@vuepress/shared-utils/package.json | 2 +- packages/@vuepress/test-utils/package.json | 6 +++--- packages/@vuepress/theme-blog/package.json | 10 +++++----- packages/@vuepress/theme-default/package.json | 8 ++++---- packages/@vuepress/theme-vue/package.json | 4 ++-- packages/blog/package.json | 6 +++--- packages/docs/package.json | 14 +++++++------- packages/vuepress/package.json | 6 +++--- 23 files changed, 53 insertions(+), 53 deletions(-) diff --git a/lerna.json b/lerna.json index 1a047011..a7e0899f 100644 --- a/lerna.json +++ b/lerna.json @@ -2,5 +2,5 @@ "lerna": "2.5.1", "npmClient": "yarn", "useWorkspaces": true, - "version": "1.0.0-alpha.44" + "version": "1.0.0-alpha.45" } diff --git a/packages/@vuepress/core/package.json b/packages/@vuepress/core/package.json index a8b8fccb..c63e8de7 100644 --- a/packages/@vuepress/core/package.json +++ b/packages/@vuepress/core/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/core", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "Minimalistic doc generator with Vue component based layout system", "main": "lib/index.js", "repository": { @@ -31,11 +31,11 @@ "dependencies": { "@babel/core": "^7.0.0", "@vue/babel-preset-app": "^3.1.1", - "@vuepress/markdown": "^1.0.0-alpha.44", - "@vuepress/markdown-loader": "^1.0.0-alpha.44", - "@vuepress/plugin-last-updated": "^1.0.0-alpha.44", - "@vuepress/plugin-register-components": "^1.0.0-alpha.44", - "@vuepress/shared-utils": "^1.0.0-alpha.44", + "@vuepress/markdown": "^1.0.0-alpha.45", + "@vuepress/markdown-loader": "^1.0.0-alpha.45", + "@vuepress/plugin-last-updated": "^1.0.0-alpha.45", + "@vuepress/plugin-register-components": "^1.0.0-alpha.45", + "@vuepress/shared-utils": "^1.0.0-alpha.45", "autoprefixer": "^7.1.2", "babel-loader": "^8.0.4", "cache-loader": "^1.2.2", diff --git a/packages/@vuepress/markdown-loader/package.json b/packages/@vuepress/markdown-loader/package.json index a9b8de66..feb2db05 100644 --- a/packages/@vuepress/markdown-loader/package.json +++ b/packages/@vuepress/markdown-loader/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/markdown-loader", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "markdown-loader for vuepress", "main": "index.js", "publishConfig": { @@ -18,7 +18,7 @@ "generator" ], "dependencies": { - "@vuepress/markdown": "^1.0.0-alpha.44", + "@vuepress/markdown": "^1.0.0-alpha.45", "loader-utils": "^1.1.0", "lru-cache": "^5.1.1" }, diff --git a/packages/@vuepress/markdown/package.json b/packages/@vuepress/markdown/package.json index 362a46a9..1288a56c 100644 --- a/packages/@vuepress/markdown/package.json +++ b/packages/@vuepress/markdown/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/markdown", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "markdown for vuepress", "main": "index.js", "publishConfig": { @@ -19,7 +19,7 @@ "markdown" ], "dependencies": { - "@vuepress/shared-utils": "^1.0.0-alpha.44", + "@vuepress/shared-utils": "^1.0.0-alpha.45", "lru-cache": "^5.1.1", "markdown-it": "^8.4.1", "markdown-it-anchor": "^5.0.2", @@ -28,7 +28,7 @@ "prismjs": "^1.13.0" }, "devDependencies": { - "@vuepress/test-utils": "^1.0.0-alpha.44" + "@vuepress/test-utils": "^1.0.0-alpha.45" }, "author": "Evan You", "maintainers": [ diff --git a/packages/@vuepress/plugin-active-header-links/package.json b/packages/@vuepress/plugin-active-header-links/package.json index 4457b4d6..c2d0913c 100644 --- a/packages/@vuepress/plugin-active-header-links/package.json +++ b/packages/@vuepress/plugin-active-header-links/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-active-header-links", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "active-header-links plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/plugin-back-to-top/package.json b/packages/@vuepress/plugin-back-to-top/package.json index ff1d0f6c..33a63553 100644 --- a/packages/@vuepress/plugin-back-to-top/package.json +++ b/packages/@vuepress/plugin-back-to-top/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-back-to-top", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "back-to-top plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/plugin-blog/package.json b/packages/@vuepress/plugin-blog/package.json index 5cbc1584..3ada2389 100644 --- a/packages/@vuepress/plugin-blog/package.json +++ b/packages/@vuepress/plugin-blog/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-blog", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "blog plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/plugin-google-analytics/package.json b/packages/@vuepress/plugin-google-analytics/package.json index a46d25ad..ac7b140b 100644 --- a/packages/@vuepress/plugin-google-analytics/package.json +++ b/packages/@vuepress/plugin-google-analytics/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-google-analytics", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "google-analytics plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/plugin-last-updated/package.json b/packages/@vuepress/plugin-last-updated/package.json index 5f817ed9..5719b0a7 100644 --- a/packages/@vuepress/plugin-last-updated/package.json +++ b/packages/@vuepress/plugin-last-updated/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-last-updated", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "last-updated plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/plugin-medium-zoom/package.json b/packages/@vuepress/plugin-medium-zoom/package.json index 82abc816..af1c6e8f 100644 --- a/packages/@vuepress/plugin-medium-zoom/package.json +++ b/packages/@vuepress/plugin-medium-zoom/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-medium-zoom", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "medium-zoom plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/plugin-nprogress/package.json b/packages/@vuepress/plugin-nprogress/package.json index 159870c3..ef9b73e3 100644 --- a/packages/@vuepress/plugin-nprogress/package.json +++ b/packages/@vuepress/plugin-nprogress/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-nprogress", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "nprogress plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/plugin-pagination/package.json b/packages/@vuepress/plugin-pagination/package.json index d911a543..c28394fc 100644 --- a/packages/@vuepress/plugin-pagination/package.json +++ b/packages/@vuepress/plugin-pagination/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-pagination", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "pagination plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/plugin-pwa/package.json b/packages/@vuepress/plugin-pwa/package.json index cc60ccf9..29df7cf7 100644 --- a/packages/@vuepress/plugin-pwa/package.json +++ b/packages/@vuepress/plugin-pwa/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-pwa", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "pwa plugin for vuepress", "main": "index.js", "publishConfig": { @@ -18,7 +18,7 @@ "generator" ], "dependencies": { - "@vuepress/shared-utils": "^1.0.0-alpha.44", + "@vuepress/shared-utils": "^1.0.0-alpha.45", "register-service-worker": "^1.5.2", "workbox-build": "^3.1.0" }, diff --git a/packages/@vuepress/plugin-register-components/package.json b/packages/@vuepress/plugin-register-components/package.json index ef6cfa74..9e4d1162 100644 --- a/packages/@vuepress/plugin-register-components/package.json +++ b/packages/@vuepress/plugin-register-components/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-register-components", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "register-global-components plugin for vuepress", "main": "index.js", "publishConfig": { @@ -24,6 +24,6 @@ }, "homepage": "https://github.com/vuejs/vuepress/packages/@vuepress/plugin-register-components#readme", "dependencies": { - "@vuepress/shared-utils": "^1.0.0-alpha.44" + "@vuepress/shared-utils": "^1.0.0-alpha.45" } } diff --git a/packages/@vuepress/plugin-search/package.json b/packages/@vuepress/plugin-search/package.json index 71995ff3..583dd938 100644 --- a/packages/@vuepress/plugin-search/package.json +++ b/packages/@vuepress/plugin-search/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-search", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "search plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/shared-utils/package.json b/packages/@vuepress/shared-utils/package.json index a66f3e41..cff5c48f 100644 --- a/packages/@vuepress/shared-utils/package.json +++ b/packages/@vuepress/shared-utils/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/shared-utils", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "shared-utils for vuepress", "main": "lib/index.js", "types": "types/index.d.ts", diff --git a/packages/@vuepress/test-utils/package.json b/packages/@vuepress/test-utils/package.json index 8f7ebc95..3837da22 100644 --- a/packages/@vuepress/test-utils/package.json +++ b/packages/@vuepress/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/test-utils", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "test-utils for vuepress", "main": "index.js", "publishConfig": { @@ -22,8 +22,8 @@ "@babel/preset-env": "^7.0.0", "@types/jest": "^24.0.9", "@vue/test-utils": "^1.0.0-beta.29", - "@vuepress/core": "^1.0.0-alpha.44", - "@vuepress/shared-utils": "^1.0.0-alpha.44", + "@vuepress/core": "^1.0.0-alpha.45", + "@vuepress/shared-utils": "^1.0.0-alpha.45", "babel-jest": "^24.1.0", "execa": "^0.10.0", "jest": "^24.1.0", diff --git a/packages/@vuepress/theme-blog/package.json b/packages/@vuepress/theme-blog/package.json index fdff5b25..7b896e2b 100644 --- a/packages/@vuepress/theme-blog/package.json +++ b/packages/@vuepress/theme-blog/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@vuepress/theme-blog", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "theme-blog for vuepress", "main": "index.js", "publishConfig": { @@ -19,10 +19,10 @@ "generator" ], "dependencies": { - "@vuepress/plugin-blog": "^1.0.0-alpha.44", - "@vuepress/plugin-medium-zoom": "^1.0.0-alpha.44", - "@vuepress/plugin-pagination": "^1.0.0-alpha.44", - "@vuepress/plugin-search": "^1.0.0-alpha.44" + "@vuepress/plugin-blog": "^1.0.0-alpha.45", + "@vuepress/plugin-medium-zoom": "^1.0.0-alpha.45", + "@vuepress/plugin-pagination": "^1.0.0-alpha.45", + "@vuepress/plugin-search": "^1.0.0-alpha.45" }, "author": "ULIVZ ", "license": "MIT", diff --git a/packages/@vuepress/theme-default/package.json b/packages/@vuepress/theme-default/package.json index 316a57e3..c96162c5 100644 --- a/packages/@vuepress/theme-default/package.json +++ b/packages/@vuepress/theme-default/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/theme-default", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "Default theme for VuePress", "main": "index.js", "publishConfig": { @@ -30,9 +30,9 @@ }, "homepage": "https://github.com/vuejs/vuepress/packages/@vuepress/theme-default#readme", "dependencies": { - "@vuepress/plugin-active-header-links": "^1.0.0-alpha.44", - "@vuepress/plugin-nprogress": "^1.0.0-alpha.44", - "@vuepress/plugin-search": "^1.0.0-alpha.44", + "@vuepress/plugin-active-header-links": "^1.0.0-alpha.45", + "@vuepress/plugin-nprogress": "^1.0.0-alpha.45", + "@vuepress/plugin-search": "^1.0.0-alpha.45", "docsearch.js": "^2.5.2", "stylus": "^0.54.5", "stylus-loader": "^3.0.2", diff --git a/packages/@vuepress/theme-vue/package.json b/packages/@vuepress/theme-vue/package.json index cad2ac10..593a2ad6 100644 --- a/packages/@vuepress/theme-vue/package.json +++ b/packages/@vuepress/theme-vue/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/theme-vue", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "VuePress theme for official Vue projects", "main": "index.js", "publishConfig": { @@ -30,6 +30,6 @@ }, "homepage": "https://github.com/vuejs/vuepress/packages/@vuepress/theme-vue#readme", "dependencies": { - "@vuepress/theme-default": "^1.0.0-alpha.44" + "@vuepress/theme-default": "^1.0.0-alpha.45" } } diff --git a/packages/blog/package.json b/packages/blog/package.json index e8eb5e74..f07c9bc6 100644 --- a/packages/blog/package.json +++ b/packages/blog/package.json @@ -2,13 +2,13 @@ "private": true, "name": "blog", "description": "blog of VuePress", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "scripts": { "dev": "vuepress dev source --temp .temp", "build": "vuepress build source --temp .temp" }, "dependencies": { - "@vuepress/theme-blog": "^1.0.0-alpha.44", - "vuepress": "^1.0.0-alpha.44" + "@vuepress/theme-blog": "^1.0.0-alpha.45", + "vuepress": "^1.0.0-alpha.45" } } diff --git a/packages/docs/package.json b/packages/docs/package.json index 9e293a66..1b9ebb8d 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "name": "docs", "description": "docs of VuePress", "scripts": { @@ -25,13 +25,13 @@ }, "homepage": "https://github.com/vuejs/vuepress#readme", "devDependencies": { - "@vuepress/plugin-back-to-top": "^1.0.0-alpha.44", - "@vuepress/plugin-google-analytics": "^1.0.0-alpha.44", - "@vuepress/plugin-medium-zoom": "^1.0.0-alpha.44", - "@vuepress/plugin-pwa": "^1.0.0-alpha.44", - "@vuepress/theme-vue": "^1.0.0-alpha.44", + "@vuepress/plugin-back-to-top": "^1.0.0-alpha.45", + "@vuepress/plugin-google-analytics": "^1.0.0-alpha.45", + "@vuepress/plugin-medium-zoom": "^1.0.0-alpha.45", + "@vuepress/plugin-pwa": "^1.0.0-alpha.45", + "@vuepress/theme-vue": "^1.0.0-alpha.45", "vue-toasted": "^1.1.25", - "vuepress": "^1.0.0-alpha.44", + "vuepress": "^1.0.0-alpha.45", "vuepress-plugin-flowchart": "^1.4.2" } } diff --git a/packages/vuepress/package.json b/packages/vuepress/package.json index 674a0fea..f74608c2 100644 --- a/packages/vuepress/package.json +++ b/packages/vuepress/package.json @@ -1,6 +1,6 @@ { "name": "vuepress", - "version": "1.0.0-alpha.44", + "version": "1.0.0-alpha.45", "description": "Minimalistic doc generator with Vue component based layout system", "main": "index.js", "repository": { @@ -29,8 +29,8 @@ }, "homepage": "https://github.com/vuejs/vuepress#readme", "dependencies": { - "@vuepress/core": "^1.0.0-alpha.44", - "@vuepress/theme-default": "^1.0.0-alpha.44", + "@vuepress/core": "^1.0.0-alpha.45", + "@vuepress/theme-default": "^1.0.0-alpha.45", "cac": "^6.3.9" }, "engines": { From cb84c5c4d95bf1e30a8b5ad03f0c130a1435c53f Mon Sep 17 00:00:00 2001 From: ULIVZ <472590061@qq.com> Date: Mon, 1 Apr 2019 00:20:06 +0800 Subject: [PATCH 08/24] chore: 1.0.0-alpha.45 changelog --- CHANGELOG.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f5183dbd..e047e06c 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,38 @@ + +# [1.0.0-alpha.45](https://github.com/vuejs/vuepress/compare/v1.0.0-alpha.44...v1.0.0-alpha.45) (2019-03-31) + + +### Bug Fixes + +* **$core:** do not register component in render function ([#1449](https://github.com/vuejs/vuepress/issues/1449)) ([ef82c47](https://github.com/vuejs/vuepress/commit/ef82c47)) +* **$core:** do not use stylus in outbound link ([d34e038](https://github.com/vuejs/vuepress/commit/d34e038)) +* **$core:** should default host be 0.0.0.0 ([699492a](https://github.com/vuejs/vuepress/commit/699492a)) +* **$markdown:** treat styl as stylus language ([#1433](https://github.com/vuejs/vuepress/issues/1433)) ([f44e2db](https://github.com/vuejs/vuepress/commit/f44e2db)) +* **$markdown-loader:** always use `/` instead of `\` in `relPath` ([#1484](https://github.com/vuejs/vuepress/issues/1484)) ([944ebe4](https://github.com/vuejs/vuepress/commit/944ebe4)) +* **$plugin-active-header-links:** side navigation edge case bug ([#1477](https://github.com/vuejs/vuepress/issues/1477)) ([8a11d14](https://github.com/vuejs/vuepress/commit/8a11d14)) +* **$plugin-blog:** inconsistent paths of tag and category pages with index page ([#1420](https://github.com/vuejs/vuepress/issues/1420)) ([5c0e62f](https://github.com/vuejs/vuepress/commit/5c0e62f)) +* **$plugin-pwa:** fix a typo in `opacity` ([#1444](https://github.com/vuejs/vuepress/issues/1444)) ([c174f0d](https://github.com/vuejs/vuepress/commit/c174f0d)) +* **$theme-default:** fix wrong editLink (close: [#1115](https://github.com/vuejs/vuepress/issues/1115), [#1125](https://github.com/vuejs/vuepress/issues/1125)) ([#1419](https://github.com/vuejs/vuepress/issues/1419)) ([3b14375](https://github.com/vuejs/vuepress/commit/3b14375)) +* **$theme-default:** nav url change bug (close: [#865](https://github.com/vuejs/vuepress/issues/865)) ([#1475](https://github.com/vuejs/vuepress/issues/1475)) ([521dddd](https://github.com/vuejs/vuepress/commit/521dddd)) + + +### Features + +* **$core:** allow dynamic routeBase at runtime ([fc99d59](https://github.com/vuejs/vuepress/commit/fc99d59)) +* **$core:** decode page path for better readablility ([#1438](https://github.com/vuejs/vuepress/issues/1438)) ([93b2ca1](https://github.com/vuejs/vuepress/commit/93b2ca1)) +* **$core:** export version ([#1486](https://github.com/vuejs/vuepress/issues/1486)) ([d7b8daf](https://github.com/vuejs/vuepress/commit/d7b8daf)) +* **$core:** functional siteConfig.evergreen ([#1489](https://github.com/vuejs/vuepress/issues/1489)) ([19e0569](https://github.com/vuejs/vuepress/commit/19e0569)) +* **$core:** support array as plugin options ([#1493](https://github.com/vuejs/vuepress/issues/1493)) ([9e07b1e](https://github.com/vuejs/vuepress/commit/9e07b1e)) +* **$markdown:** markdown plugin (close: [#585](https://github.com/vuejs/vuepress/issues/585)) ([#1422](https://github.com/vuejs/vuepress/issues/1422)) ([9734a58](https://github.com/vuejs/vuepress/commit/9734a58)) +* **$plugin-register-components:** custom name registration (close: [#656](https://github.com/vuejs/vuepress/issues/656)) ([#1418](https://github.com/vuejs/vuepress/issues/1418)) ([9c6a00b](https://github.com/vuejs/vuepress/commit/9c6a00b)) + + +### Breaking Changes + +* Depreated [@vuepress/plugin-container](https://www.npmjs.com/package/@vuepress/plugin-container) and moved it to [vuepress-plugin-container](https://www.npmjs.com/package/vuepress-plugin-container). +* Depreated [@vuepress/plugin-clean-urls](https://www.npmjs.com/package/@vuepress/plugin-clean-urls) and moved it to [vuepress-plugin-clean-urls](https://www.npmjs.com/package/vuepress-plugin-clean-urls). + + # [1.0.0-alpha.44](https://github.com/vuejs/vuepress/compare/v1.0.0-alpha.43...v1.0.0-alpha.44) (2019-03-10) From 5e12b4929f3a9ab45bf7ca6c7b800649420e1024 Mon Sep 17 00:00:00 2001 From: ULIVZ <472590061@qq.com> Date: Mon, 1 Apr 2019 00:45:05 +0800 Subject: [PATCH 09/24] fix($core): regression of introducing dynamic routerBase (close: #1498) Also renaming __VUEPRESS_ROUTE_BASE__ to __VUEPRESS_ROUTER_BASE__ --- packages/@vuepress/core/lib/client/app.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/@vuepress/core/lib/client/app.js b/packages/@vuepress/core/lib/client/app.js index e89cb21a..236e1f76 100644 --- a/packages/@vuepress/core/lib/client/app.js +++ b/packages/@vuepress/core/lib/client/app.js @@ -61,8 +61,12 @@ Vue.prototype.$withBase = function (path) { } export function createApp (isServer) { + const routerBase = typeof window !== 'undefined' + ? window.__VUEPRESS_ROUTER_BASE__ + : (siteData.routerBase || siteData.base) + const router = new Router({ - base: window.__VUEPRESS_ROUTE_BASE__ || siteData.base, + base: routerBase, mode: 'history', fallback: false, routes, From b9da618d0a0be358ac2967ab5623d4902ff44aea Mon Sep 17 00:00:00 2001 From: ULIVZ <472590061@qq.com> Date: Mon, 1 Apr 2019 00:48:44 +0800 Subject: [PATCH 10/24] v1.0.0-alpha.46 --- lerna.json | 2 +- packages/@vuepress/core/package.json | 12 ++++++------ packages/@vuepress/markdown-loader/package.json | 4 ++-- packages/@vuepress/markdown/package.json | 6 +++--- .../plugin-active-header-links/package.json | 2 +- packages/@vuepress/plugin-back-to-top/package.json | 2 +- packages/@vuepress/plugin-blog/package.json | 2 +- .../@vuepress/plugin-google-analytics/package.json | 2 +- .../@vuepress/plugin-last-updated/package.json | 2 +- packages/@vuepress/plugin-medium-zoom/package.json | 2 +- packages/@vuepress/plugin-nprogress/package.json | 2 +- packages/@vuepress/plugin-pagination/package.json | 2 +- packages/@vuepress/plugin-pwa/package.json | 4 ++-- .../plugin-register-components/package.json | 4 ++-- packages/@vuepress/plugin-search/package.json | 2 +- packages/@vuepress/shared-utils/package.json | 2 +- packages/@vuepress/test-utils/package.json | 6 +++--- packages/@vuepress/theme-blog/package.json | 10 +++++----- packages/@vuepress/theme-default/package.json | 8 ++++---- packages/@vuepress/theme-vue/package.json | 4 ++-- packages/blog/package.json | 6 +++--- packages/docs/package.json | 14 +++++++------- packages/vuepress/package.json | 6 +++--- 23 files changed, 53 insertions(+), 53 deletions(-) diff --git a/lerna.json b/lerna.json index a7e0899f..a0dd2828 100644 --- a/lerna.json +++ b/lerna.json @@ -2,5 +2,5 @@ "lerna": "2.5.1", "npmClient": "yarn", "useWorkspaces": true, - "version": "1.0.0-alpha.45" + "version": "1.0.0-alpha.46" } diff --git a/packages/@vuepress/core/package.json b/packages/@vuepress/core/package.json index c63e8de7..1caa60f3 100644 --- a/packages/@vuepress/core/package.json +++ b/packages/@vuepress/core/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/core", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "Minimalistic doc generator with Vue component based layout system", "main": "lib/index.js", "repository": { @@ -31,11 +31,11 @@ "dependencies": { "@babel/core": "^7.0.0", "@vue/babel-preset-app": "^3.1.1", - "@vuepress/markdown": "^1.0.0-alpha.45", - "@vuepress/markdown-loader": "^1.0.0-alpha.45", - "@vuepress/plugin-last-updated": "^1.0.0-alpha.45", - "@vuepress/plugin-register-components": "^1.0.0-alpha.45", - "@vuepress/shared-utils": "^1.0.0-alpha.45", + "@vuepress/markdown": "^1.0.0-alpha.46", + "@vuepress/markdown-loader": "^1.0.0-alpha.46", + "@vuepress/plugin-last-updated": "^1.0.0-alpha.46", + "@vuepress/plugin-register-components": "^1.0.0-alpha.46", + "@vuepress/shared-utils": "^1.0.0-alpha.46", "autoprefixer": "^7.1.2", "babel-loader": "^8.0.4", "cache-loader": "^1.2.2", diff --git a/packages/@vuepress/markdown-loader/package.json b/packages/@vuepress/markdown-loader/package.json index feb2db05..654e11b0 100644 --- a/packages/@vuepress/markdown-loader/package.json +++ b/packages/@vuepress/markdown-loader/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/markdown-loader", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "markdown-loader for vuepress", "main": "index.js", "publishConfig": { @@ -18,7 +18,7 @@ "generator" ], "dependencies": { - "@vuepress/markdown": "^1.0.0-alpha.45", + "@vuepress/markdown": "^1.0.0-alpha.46", "loader-utils": "^1.1.0", "lru-cache": "^5.1.1" }, diff --git a/packages/@vuepress/markdown/package.json b/packages/@vuepress/markdown/package.json index 1288a56c..a2c3959a 100644 --- a/packages/@vuepress/markdown/package.json +++ b/packages/@vuepress/markdown/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/markdown", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "markdown for vuepress", "main": "index.js", "publishConfig": { @@ -19,7 +19,7 @@ "markdown" ], "dependencies": { - "@vuepress/shared-utils": "^1.0.0-alpha.45", + "@vuepress/shared-utils": "^1.0.0-alpha.46", "lru-cache": "^5.1.1", "markdown-it": "^8.4.1", "markdown-it-anchor": "^5.0.2", @@ -28,7 +28,7 @@ "prismjs": "^1.13.0" }, "devDependencies": { - "@vuepress/test-utils": "^1.0.0-alpha.45" + "@vuepress/test-utils": "^1.0.0-alpha.46" }, "author": "Evan You", "maintainers": [ diff --git a/packages/@vuepress/plugin-active-header-links/package.json b/packages/@vuepress/plugin-active-header-links/package.json index c2d0913c..106a7e77 100644 --- a/packages/@vuepress/plugin-active-header-links/package.json +++ b/packages/@vuepress/plugin-active-header-links/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-active-header-links", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "active-header-links plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/plugin-back-to-top/package.json b/packages/@vuepress/plugin-back-to-top/package.json index 33a63553..9fb649a5 100644 --- a/packages/@vuepress/plugin-back-to-top/package.json +++ b/packages/@vuepress/plugin-back-to-top/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-back-to-top", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "back-to-top plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/plugin-blog/package.json b/packages/@vuepress/plugin-blog/package.json index 3ada2389..8b0e5e43 100644 --- a/packages/@vuepress/plugin-blog/package.json +++ b/packages/@vuepress/plugin-blog/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-blog", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "blog plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/plugin-google-analytics/package.json b/packages/@vuepress/plugin-google-analytics/package.json index ac7b140b..717808f6 100644 --- a/packages/@vuepress/plugin-google-analytics/package.json +++ b/packages/@vuepress/plugin-google-analytics/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-google-analytics", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "google-analytics plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/plugin-last-updated/package.json b/packages/@vuepress/plugin-last-updated/package.json index 5719b0a7..3aff6f67 100644 --- a/packages/@vuepress/plugin-last-updated/package.json +++ b/packages/@vuepress/plugin-last-updated/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-last-updated", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "last-updated plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/plugin-medium-zoom/package.json b/packages/@vuepress/plugin-medium-zoom/package.json index af1c6e8f..8c2f2bbf 100644 --- a/packages/@vuepress/plugin-medium-zoom/package.json +++ b/packages/@vuepress/plugin-medium-zoom/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-medium-zoom", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "medium-zoom plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/plugin-nprogress/package.json b/packages/@vuepress/plugin-nprogress/package.json index ef9b73e3..cf633437 100644 --- a/packages/@vuepress/plugin-nprogress/package.json +++ b/packages/@vuepress/plugin-nprogress/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-nprogress", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "nprogress plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/plugin-pagination/package.json b/packages/@vuepress/plugin-pagination/package.json index c28394fc..24bc57c0 100644 --- a/packages/@vuepress/plugin-pagination/package.json +++ b/packages/@vuepress/plugin-pagination/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-pagination", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "pagination plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/plugin-pwa/package.json b/packages/@vuepress/plugin-pwa/package.json index 29df7cf7..9408bfe1 100644 --- a/packages/@vuepress/plugin-pwa/package.json +++ b/packages/@vuepress/plugin-pwa/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-pwa", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "pwa plugin for vuepress", "main": "index.js", "publishConfig": { @@ -18,7 +18,7 @@ "generator" ], "dependencies": { - "@vuepress/shared-utils": "^1.0.0-alpha.45", + "@vuepress/shared-utils": "^1.0.0-alpha.46", "register-service-worker": "^1.5.2", "workbox-build": "^3.1.0" }, diff --git a/packages/@vuepress/plugin-register-components/package.json b/packages/@vuepress/plugin-register-components/package.json index 9e4d1162..bcd8c22e 100644 --- a/packages/@vuepress/plugin-register-components/package.json +++ b/packages/@vuepress/plugin-register-components/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-register-components", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "register-global-components plugin for vuepress", "main": "index.js", "publishConfig": { @@ -24,6 +24,6 @@ }, "homepage": "https://github.com/vuejs/vuepress/packages/@vuepress/plugin-register-components#readme", "dependencies": { - "@vuepress/shared-utils": "^1.0.0-alpha.45" + "@vuepress/shared-utils": "^1.0.0-alpha.46" } } diff --git a/packages/@vuepress/plugin-search/package.json b/packages/@vuepress/plugin-search/package.json index 583dd938..43cecd03 100644 --- a/packages/@vuepress/plugin-search/package.json +++ b/packages/@vuepress/plugin-search/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-search", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "search plugin for vuepress", "main": "index.js", "publishConfig": { diff --git a/packages/@vuepress/shared-utils/package.json b/packages/@vuepress/shared-utils/package.json index cff5c48f..2862b5af 100644 --- a/packages/@vuepress/shared-utils/package.json +++ b/packages/@vuepress/shared-utils/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/shared-utils", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "shared-utils for vuepress", "main": "lib/index.js", "types": "types/index.d.ts", diff --git a/packages/@vuepress/test-utils/package.json b/packages/@vuepress/test-utils/package.json index 3837da22..13c40e68 100644 --- a/packages/@vuepress/test-utils/package.json +++ b/packages/@vuepress/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/test-utils", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "test-utils for vuepress", "main": "index.js", "publishConfig": { @@ -22,8 +22,8 @@ "@babel/preset-env": "^7.0.0", "@types/jest": "^24.0.9", "@vue/test-utils": "^1.0.0-beta.29", - "@vuepress/core": "^1.0.0-alpha.45", - "@vuepress/shared-utils": "^1.0.0-alpha.45", + "@vuepress/core": "^1.0.0-alpha.46", + "@vuepress/shared-utils": "^1.0.0-alpha.46", "babel-jest": "^24.1.0", "execa": "^0.10.0", "jest": "^24.1.0", diff --git a/packages/@vuepress/theme-blog/package.json b/packages/@vuepress/theme-blog/package.json index 7b896e2b..03834424 100644 --- a/packages/@vuepress/theme-blog/package.json +++ b/packages/@vuepress/theme-blog/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@vuepress/theme-blog", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "theme-blog for vuepress", "main": "index.js", "publishConfig": { @@ -19,10 +19,10 @@ "generator" ], "dependencies": { - "@vuepress/plugin-blog": "^1.0.0-alpha.45", - "@vuepress/plugin-medium-zoom": "^1.0.0-alpha.45", - "@vuepress/plugin-pagination": "^1.0.0-alpha.45", - "@vuepress/plugin-search": "^1.0.0-alpha.45" + "@vuepress/plugin-blog": "^1.0.0-alpha.46", + "@vuepress/plugin-medium-zoom": "^1.0.0-alpha.46", + "@vuepress/plugin-pagination": "^1.0.0-alpha.46", + "@vuepress/plugin-search": "^1.0.0-alpha.46" }, "author": "ULIVZ ", "license": "MIT", diff --git a/packages/@vuepress/theme-default/package.json b/packages/@vuepress/theme-default/package.json index c96162c5..68fd8848 100644 --- a/packages/@vuepress/theme-default/package.json +++ b/packages/@vuepress/theme-default/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/theme-default", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "Default theme for VuePress", "main": "index.js", "publishConfig": { @@ -30,9 +30,9 @@ }, "homepage": "https://github.com/vuejs/vuepress/packages/@vuepress/theme-default#readme", "dependencies": { - "@vuepress/plugin-active-header-links": "^1.0.0-alpha.45", - "@vuepress/plugin-nprogress": "^1.0.0-alpha.45", - "@vuepress/plugin-search": "^1.0.0-alpha.45", + "@vuepress/plugin-active-header-links": "^1.0.0-alpha.46", + "@vuepress/plugin-nprogress": "^1.0.0-alpha.46", + "@vuepress/plugin-search": "^1.0.0-alpha.46", "docsearch.js": "^2.5.2", "stylus": "^0.54.5", "stylus-loader": "^3.0.2", diff --git a/packages/@vuepress/theme-vue/package.json b/packages/@vuepress/theme-vue/package.json index 593a2ad6..249cc994 100644 --- a/packages/@vuepress/theme-vue/package.json +++ b/packages/@vuepress/theme-vue/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/theme-vue", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "VuePress theme for official Vue projects", "main": "index.js", "publishConfig": { @@ -30,6 +30,6 @@ }, "homepage": "https://github.com/vuejs/vuepress/packages/@vuepress/theme-vue#readme", "dependencies": { - "@vuepress/theme-default": "^1.0.0-alpha.45" + "@vuepress/theme-default": "^1.0.0-alpha.46" } } diff --git a/packages/blog/package.json b/packages/blog/package.json index f07c9bc6..34540a2d 100644 --- a/packages/blog/package.json +++ b/packages/blog/package.json @@ -2,13 +2,13 @@ "private": true, "name": "blog", "description": "blog of VuePress", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "scripts": { "dev": "vuepress dev source --temp .temp", "build": "vuepress build source --temp .temp" }, "dependencies": { - "@vuepress/theme-blog": "^1.0.0-alpha.45", - "vuepress": "^1.0.0-alpha.45" + "@vuepress/theme-blog": "^1.0.0-alpha.46", + "vuepress": "^1.0.0-alpha.46" } } diff --git a/packages/docs/package.json b/packages/docs/package.json index 1b9ebb8d..21389459 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "name": "docs", "description": "docs of VuePress", "scripts": { @@ -25,13 +25,13 @@ }, "homepage": "https://github.com/vuejs/vuepress#readme", "devDependencies": { - "@vuepress/plugin-back-to-top": "^1.0.0-alpha.45", - "@vuepress/plugin-google-analytics": "^1.0.0-alpha.45", - "@vuepress/plugin-medium-zoom": "^1.0.0-alpha.45", - "@vuepress/plugin-pwa": "^1.0.0-alpha.45", - "@vuepress/theme-vue": "^1.0.0-alpha.45", + "@vuepress/plugin-back-to-top": "^1.0.0-alpha.46", + "@vuepress/plugin-google-analytics": "^1.0.0-alpha.46", + "@vuepress/plugin-medium-zoom": "^1.0.0-alpha.46", + "@vuepress/plugin-pwa": "^1.0.0-alpha.46", + "@vuepress/theme-vue": "^1.0.0-alpha.46", "vue-toasted": "^1.1.25", - "vuepress": "^1.0.0-alpha.45", + "vuepress": "^1.0.0-alpha.46", "vuepress-plugin-flowchart": "^1.4.2" } } diff --git a/packages/vuepress/package.json b/packages/vuepress/package.json index f74608c2..f510b2fb 100644 --- a/packages/vuepress/package.json +++ b/packages/vuepress/package.json @@ -1,6 +1,6 @@ { "name": "vuepress", - "version": "1.0.0-alpha.45", + "version": "1.0.0-alpha.46", "description": "Minimalistic doc generator with Vue component based layout system", "main": "index.js", "repository": { @@ -29,8 +29,8 @@ }, "homepage": "https://github.com/vuejs/vuepress#readme", "dependencies": { - "@vuepress/core": "^1.0.0-alpha.45", - "@vuepress/theme-default": "^1.0.0-alpha.45", + "@vuepress/core": "^1.0.0-alpha.46", + "@vuepress/theme-default": "^1.0.0-alpha.46", "cac": "^6.3.9" }, "engines": { From 2ced5b1aa60416c5085e193899b1ca08b12b61cf Mon Sep 17 00:00:00 2001 From: ULIVZ <472590061@qq.com> Date: Mon, 1 Apr 2019 00:50:51 +0800 Subject: [PATCH 11/24] chore: 1.0.0-alpha.46 changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e047e06c..6c4193fc 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +### Bug Fixes + +* **$core:** regression of introducing dynamic `routerBase` (close: [#1498](https://github.com/vuejs/vuepress/issues/1498)) ([5e12b49](https://github.com/vuejs/vuepress/commit/5e12b49)) + + + # [1.0.0-alpha.45](https://github.com/vuejs/vuepress/compare/v1.0.0-alpha.44...v1.0.0-alpha.45) (2019-03-31) From dc524128647a5f8f576bbf4bdbfcb4cc291fec4a Mon Sep 17 00:00:00 2001 From: ULIVZ <472590061@qq.com> Date: Mon, 1 Apr 2019 00:54:33 +0800 Subject: [PATCH 12/24] ci: update CI setup --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 88094174..d2cebd28 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -34,4 +34,4 @@ jobs: key: v1-dependencies-{{ checksum "package.json" }} # run tests! - - run: yarn lint && yarn test + - run: yarn build && yarn lint && yarn test From 47c02ce824c5acb687844c8ecbe23367835e5547 Mon Sep 17 00:00:00 2001 From: Shigma <33423008+Shigma@users.noreply.github.com> Date: Tue, 2 Apr 2019 23:54:33 +0800 Subject: [PATCH 13/24] $theme-default: support options.activeHeaderLinks (close: #1488) (#1508) --- packages/@vuepress/theme-default/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vuepress/theme-default/index.js b/packages/@vuepress/theme-default/index.js index f6caeda7..01de7b12 100644 --- a/packages/@vuepress/theme-default/index.js +++ b/packages/@vuepress/theme-default/index.js @@ -18,7 +18,7 @@ module.exports = (options, ctx) => ({ }, plugins: [ - '@vuepress/active-header-links', + ['@vuepress/active-header-links', options.activeHeaderLinks], '@vuepress/search', '@vuepress/plugin-nprogress', ['container', { From 9fba54931c80bab6b0ab7a446ca97687342baf7d Mon Sep 17 00:00:00 2001 From: ULIVZ <472590061@qq.com> Date: Wed, 3 Apr 2019 00:03:18 +0800 Subject: [PATCH 14/24] fix($core): routerBase will always get '/' (close: #1503) --- packages/@vuepress/core/lib/client/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vuepress/core/lib/client/app.js b/packages/@vuepress/core/lib/client/app.js index 236e1f76..b29717a9 100644 --- a/packages/@vuepress/core/lib/client/app.js +++ b/packages/@vuepress/core/lib/client/app.js @@ -61,7 +61,7 @@ Vue.prototype.$withBase = function (path) { } export function createApp (isServer) { - const routerBase = typeof window !== 'undefined' + const routerBase = typeof window !== 'undefined' && window.__VUEPRESS_ROUTER_BASE__ ? window.__VUEPRESS_ROUTER_BASE__ : (siteData.routerBase || siteData.base) From 5876001e02f64c3101ca5b03b78eb26696bdbd8f Mon Sep 17 00:00:00 2001 From: Sergiu Marton Date: Wed, 3 Apr 2019 18:49:00 +0300 Subject: [PATCH 15/24] docs: fix typo (#1510) --- packages/docs/docs/plugin/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/docs/docs/plugin/README.md b/packages/docs/docs/plugin/README.md index 09d6378d..6c16067f 100644 --- a/packages/docs/docs/plugin/README.md +++ b/packages/docs/docs/plugin/README.md @@ -5,6 +5,6 @@ Plugins usually add global-level functionality to VuePress. There is no strictly 1. Extend the page's metadata generated at compile time. e.g. [@vuepress/plugin-last-updated](./official/plugin-last-updated.md); 2. Generate extra files before or after compilation. e.g. [@vuepress/plugin-pwa](./official/plugin-pwa.md); 3. Inject global UI. e.g. [@vuepress/plugin-back-to-top](./official/plugin-back-to-top.md); -4. Exntend command of CLI,如 [vuepress-plugin-export](https://github.com/ulivz/vuepress-plugin-export)。 +4. Extend the CLI with custom commands. e.g. [vuepress-plugin-export](https://github.com/ulivz/vuepress-plugin-export). ![Architecture of VuePress](/architecture.png) From dabf506022978ecf5101ff49cc9de1776a552ab5 Mon Sep 17 00:00:00 2001 From: ULIVZ <472590061@qq.com> Date: Sun, 7 Apr 2019 00:45:06 +0800 Subject: [PATCH 16/24] fix($core): `Index.styl` is not injected at the end of the style bundle (close: #1523) BTW, A theme cannot require the theme's styles at the layout but need use `Index.styl` instead. --- .../core/lib/node/internal-plugins/palette/index.js | 11 +++++++++-- .../core/lib/node/internal-plugins/style/index.js | 13 +++++++++++-- packages/@vuepress/theme-default/layouts/404.vue | 2 -- packages/@vuepress/theme-default/layouts/Layout.vue | 1 - .../theme-default/styles/{theme.styl => index.styl} | 0 5 files changed, 20 insertions(+), 7 deletions(-) rename packages/@vuepress/theme-default/styles/{theme.styl => index.styl} (100%) diff --git a/packages/@vuepress/core/lib/node/internal-plugins/palette/index.js b/packages/@vuepress/core/lib/node/internal-plugins/palette/index.js index 7327c4e0..49d162ec 100644 --- a/packages/@vuepress/core/lib/node/internal-plugins/palette/index.js +++ b/packages/@vuepress/core/lib/node/internal-plugins/palette/index.js @@ -31,15 +31,22 @@ module.exports = (options, ctx) => ({ ? `@import(${JSON.stringify(userPalette.replace(/[\\]+/g, '/'))})` : '' + const nullComment = '// null' + // user's palette can override theme's palette. - let paletteContent = themePaletteContent + userPaletteContent + let paletteContent = '// Theme\'s Palette\n' + + (themePaletteContent || nullComment) + + '\n\n// User\'s Palette\n' + + (userPaletteContent || nullComment) if (ctx.themeAPI.existsParentTheme) { const parentThemePalette = path.resolve(ctx.themeAPI.parentTheme.path, 'styles/palette.styl') const parentThemePaletteContent = fs.existsSync(parentThemePalette) ? `@import(${JSON.stringify(parentThemePalette.replace(/[\\]+/g, '/'))})` : '' - paletteContent = parentThemePaletteContent + paletteContent + paletteContent = '// Parent Theme\'s Palette\n' + + (parentThemePaletteContent || nullComment) + + '\n\n' + paletteContent } await writeTemp('palette.styl', paletteContent) diff --git a/packages/@vuepress/core/lib/node/internal-plugins/style/index.js b/packages/@vuepress/core/lib/node/internal-plugins/style/index.js index 2055be69..b8a54871 100644 --- a/packages/@vuepress/core/lib/node/internal-plugins/style/index.js +++ b/packages/@vuepress/core/lib/node/internal-plugins/style/index.js @@ -30,14 +30,23 @@ module.exports = (options, ctx) => ({ ? `@import(${JSON.stringify(userStyle.replace(/[\\]+/g, '/'))})` : '' - let styleContent = themeStyleContent + userStyleContent + const nullComment = '// null' + + // user's styles can override theme's styles. + let styleContent = '// Theme\'s Styles\n' + + (themeStyleContent || nullComment) + + '\n\n// User\'s Styles\n' + + (userStyleContent || nullComment) if (themeAPI.existsParentTheme) { const parentThemeStyle = path.resolve(themeAPI.parentTheme.path, 'styles/index.styl') const parentThemeStyleContent = fs.existsSync(parentThemeStyle) ? `@import(${JSON.stringify(parentThemeStyle.replace(/[\\]+/g, '/'))})` : '' - styleContent = parentThemeStyleContent + styleContent + + styleContent = '// Parent Theme\'s Styles\n' + + (parentThemeStyleContent || nullComment) + + '\n\n' + styleContent } await writeTemp('style.styl', styleContent) diff --git a/packages/@vuepress/theme-default/layouts/404.vue b/packages/@vuepress/theme-default/layouts/404.vue index 4eef36d3..6aefe797 100644 --- a/packages/@vuepress/theme-default/layouts/404.vue +++ b/packages/@vuepress/theme-default/layouts/404.vue @@ -24,5 +24,3 @@ export default { } } - - diff --git a/packages/@vuepress/theme-default/layouts/Layout.vue b/packages/@vuepress/theme-default/layouts/Layout.vue index d1960a3e..93aab9e0 100644 --- a/packages/@vuepress/theme-default/layouts/Layout.vue +++ b/packages/@vuepress/theme-default/layouts/Layout.vue @@ -147,4 +147,3 @@ export default { - diff --git a/packages/@vuepress/theme-default/styles/theme.styl b/packages/@vuepress/theme-default/styles/index.styl similarity index 100% rename from packages/@vuepress/theme-default/styles/theme.styl rename to packages/@vuepress/theme-default/styles/index.styl From 5c307c99b940bfd8081e53e814fb8e415051dcf1 Mon Sep 17 00:00:00 2001 From: Nick Evans Date: Sat, 6 Apr 2019 11:51:37 -0500 Subject: [PATCH 17/24] fix($markdown): Snippets should allow spaces in file path (closes #1505) (#1517) --- .../__tests__/__snapshots__/snippet.spec.js.snap | 10 ++++++++++ .../fragments/code-snippet-with-space-in-path.md | 1 + .../__tests__/fragments/snippet with spaces.js | 3 +++ packages/@vuepress/markdown/__tests__/snippet.spec.js | 6 ++++++ packages/@vuepress/markdown/lib/snippet.js | 2 +- 5 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 packages/@vuepress/markdown/__tests__/fragments/code-snippet-with-space-in-path.md create mode 100644 packages/@vuepress/markdown/__tests__/fragments/snippet with spaces.js diff --git a/packages/@vuepress/markdown/__tests__/__snapshots__/snippet.spec.js.snap b/packages/@vuepress/markdown/__tests__/__snapshots__/snippet.spec.js.snap index 1514907d..d62e8722 100644 --- a/packages/@vuepress/markdown/__tests__/__snapshots__/snippet.spec.js.snap +++ b/packages/@vuepress/markdown/__tests__/__snapshots__/snippet.spec.js.snap @@ -1,5 +1,15 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`snippet import snipets when the file has a space in the file path 1`] = ` +
+
 
+
 
+
 

+
export default function () { +// .. +} +`; + exports[`snippet import snippet 1`] = `
export default function () {
   // ..
diff --git a/packages/@vuepress/markdown/__tests__/fragments/code-snippet-with-space-in-path.md b/packages/@vuepress/markdown/__tests__/fragments/code-snippet-with-space-in-path.md
new file mode 100644
index 00000000..659cb258
--- /dev/null
+++ b/packages/@vuepress/markdown/__tests__/fragments/code-snippet-with-space-in-path.md
@@ -0,0 +1 @@
+<<< @/packages/@vuepress/markdown/__tests__/fragments/snippet with spaces.js {1-3}
diff --git a/packages/@vuepress/markdown/__tests__/fragments/snippet with spaces.js b/packages/@vuepress/markdown/__tests__/fragments/snippet with spaces.js
new file mode 100644
index 00000000..575039d1
--- /dev/null
+++ b/packages/@vuepress/markdown/__tests__/fragments/snippet with spaces.js	
@@ -0,0 +1,3 @@
+export default function () {
+  // ..
+}
diff --git a/packages/@vuepress/markdown/__tests__/snippet.spec.js b/packages/@vuepress/markdown/__tests__/snippet.spec.js
index bd3a23cf..4a2c65f8 100644
--- a/packages/@vuepress/markdown/__tests__/snippet.spec.js
+++ b/packages/@vuepress/markdown/__tests__/snippet.spec.js
@@ -24,4 +24,10 @@ describe('snippet', () => {
     const output = mdH.render(input)
     expect(output).toMatchSnapshot()
   })
+
+  test('import snipets when the file has a space in the file path', () => {
+    const input = getFragment(__dirname, 'code-snippet-with-space-in-path.md')
+    const output = mdH.render(input)
+    expect(output).toMatchSnapshot()
+  })
 })
diff --git a/packages/@vuepress/markdown/lib/snippet.js b/packages/@vuepress/markdown/lib/snippet.js
index b0b88f18..7713da90 100644
--- a/packages/@vuepress/markdown/lib/snippet.js
+++ b/packages/@vuepress/markdown/lib/snippet.js
@@ -44,7 +44,7 @@ module.exports = function snippet (md, options = {}) {
     const start = pos + 3
     const end = state.skipSpacesBack(max, pos)
     const rawPath = state.src.slice(start, end).trim().replace(/^@/, root)
-    const filename = rawPath.split(/[{\s]/).shift()
+    const filename = rawPath.split(/{/).shift().trim()
     const meta = rawPath.replace(filename, '')
 
     state.line = startLine + 1

From 74887c50da1001df27b9ece1d8f10cb611ac4728 Mon Sep 17 00:00:00 2001
From: Shigma <33423008+Shigma@users.noreply.github.com>
Date: Sun, 7 Apr 2019 00:55:49 +0800
Subject: [PATCH 18/24] feat($core): assert return type for functional plugin
 (#1516)

---
 packages/@vuepress/core/lib/node/plugin-api/util.js | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/packages/@vuepress/core/lib/node/plugin-api/util.js b/packages/@vuepress/core/lib/node/plugin-api/util.js
index a0d7be90..b3c17a50 100644
--- a/packages/@vuepress/core/lib/node/plugin-api/util.js
+++ b/packages/@vuepress/core/lib/node/plugin-api/util.js
@@ -43,6 +43,14 @@ exports.flattenPlugin = function (
     // 'Object.create' here is to give each plugin a separate context,
     // but also own the inheritance context.
     config = config(pluginOptions, Object.create(pluginContext), self)
+    const { valid, warnMsg } = assertTypes(config, [Object])
+    if (!valid) {
+      logger.warn(
+        `[${chalk.gray(shortcut)}] `
+        + `Invalid value for plugin: ${warnMsg}`
+      )
+      config = {}
+    }
   }
 
   // respect name in local plugin config

From 6da9a5f112fae442ca26b14374d18ca560769053 Mon Sep 17 00:00:00 2001
From: ULIVZ <472590061@qq.com>
Date: Sun, 7 Apr 2019 01:08:05 +0800
Subject: [PATCH 19/24] feat($core): emit warning if the source directory
 doesn't exist (close: #1521)

---
 packages/@vuepress/core/lib/node/App.js | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/packages/@vuepress/core/lib/node/App.js b/packages/@vuepress/core/lib/node/App.js
index 8684b652..e1897bae 100755
--- a/packages/@vuepress/core/lib/node/App.js
+++ b/packages/@vuepress/core/lib/node/App.js
@@ -41,6 +41,9 @@ module.exports = class App {
     this.options = options
     this.sourceDir = this.options.sourceDir || path.join(__dirname, 'docs.fallback')
     logger.debug('sourceDir', this.sourceDir)
+    if (!fs.existsSync(this.sourceDir)) {
+      logger.warn(`Source directory doesn't exist: ${chalk.yellow(this.sourceDir)}`)
+    }
 
     const { tempPath, writeTemp } = createTemp(options.temp)
     this.tempPath = tempPath

From 9420ca92332f21ef81e2f9046286111983810b59 Mon Sep 17 00:00:00 2001
From: ULIVZ <472590061@qq.com>
Date: Sun, 7 Apr 2019 01:29:01 +0800
Subject: [PATCH 20/24] chore: bump to optimize-css-assets-webpack-plugin@5.0.1

---
 .../lib/node/webpack/createClientConfig.js    |   3 +-
 packages/@vuepress/core/package.json          |   3 +-
 yarn.lock                                     | 560 +++++++++++++++++-
 3 files changed, 542 insertions(+), 24 deletions(-)

diff --git a/packages/@vuepress/core/lib/node/webpack/createClientConfig.js b/packages/@vuepress/core/lib/node/webpack/createClientConfig.js
index d6a8262c..c4aaae75 100644
--- a/packages/@vuepress/core/lib/node/webpack/createClientConfig.js
+++ b/packages/@vuepress/core/lib/node/webpack/createClientConfig.js
@@ -7,6 +7,7 @@
 module.exports = function createClientConfig (ctx) {
   const { env } = require('@vuepress/shared-utils')
   const createBaseConfig = require('./createBaseConfig')
+  const safeParser = require('postcss-safe-parser')
 
   const config = createBaseConfig(ctx)
 
@@ -49,7 +50,7 @@ module.exports = function createClientConfig (ctx) {
       .use(require('optimize-css-assets-webpack-plugin'), [{
         canPrint: false,
         cssProcessorOptions: {
-          safe: true,
+          parser: safeParser,
           autoprefixer: { disable: true },
           mergeLonghand: false
         }
diff --git a/packages/@vuepress/core/package.json b/packages/@vuepress/core/package.json
index 1caa60f3..7a4ace48 100644
--- a/packages/@vuepress/core/package.json
+++ b/packages/@vuepress/core/package.json
@@ -48,9 +48,10 @@
     "js-yaml": "^3.11.0",
     "lru-cache": "^5.1.1",
     "mini-css-extract-plugin": "0.4.4",
-    "optimize-css-assets-webpack-plugin": "^4.0.0",
+    "optimize-css-assets-webpack-plugin": "^5.0.1",
     "portfinder": "^1.0.13",
     "postcss-loader": "^2.1.5",
+    "postcss-safe-parser": "^4.0.1",
     "toml": "^2.3.3",
     "url-loader": "^1.0.1",
     "vue": "^2.5.16",
diff --git a/yarn.lock b/yarn.lock
index 8ede5424..5d7d6520 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1347,6 +1347,10 @@
   version "10.12.29"
   resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.29.tgz#c2c8d2d27bb55649fbafe8ea1731658421f38acf"
 
+"@types/q@^1.5.1":
+  version "1.5.2"
+  resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8"
+
 "@types/semver@^5.5.0":
   version "5.5.0"
   resolved "https://registry.yarnpkg.com/@types/semver/-/semver-5.5.0.tgz#146c2a29ee7d3bae4bf2fcb274636e264c813c45"
@@ -1706,7 +1710,7 @@ algoliasearch@^3.24.5:
     semver "^5.1.0"
     tunnel-agent "^0.6.0"
 
-alphanum-sort@^1.0.1, alphanum-sort@^1.0.2:
+alphanum-sort@^1.0.0, alphanum-sort@^1.0.1, alphanum-sort@^1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
 
@@ -2122,7 +2126,7 @@ bonjour@^3.5.0:
     multicast-dns "^6.0.1"
     multicast-dns-service-types "^1.1.0"
 
-boolbase@~1.0.0:
+boolbase@^1.0.0, boolbase@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
 
@@ -2229,6 +2233,14 @@ browserslist@^2.11.3:
     caniuse-lite "^1.0.30000792"
     electron-to-chromium "^1.3.30"
 
+browserslist@^4.0.0:
+  version "4.5.4"
+  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.5.4.tgz#166c4ecef3b51737a42436ea8002aeea466ea2c7"
+  dependencies:
+    caniuse-lite "^1.0.30000955"
+    electron-to-chromium "^1.3.122"
+    node-releases "^1.1.13"
+
 browserslist@^4.3.4:
   version "4.4.2"
   resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.4.2.tgz#6ea8a74d6464bb0bd549105f659b41197d8f0ba2"
@@ -2434,10 +2446,23 @@ caniuse-api@^1.5.2:
     lodash.memoize "^4.1.2"
     lodash.uniq "^4.5.0"
 
+caniuse-api@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
+  dependencies:
+    browserslist "^4.0.0"
+    caniuse-lite "^1.0.0"
+    lodash.memoize "^4.1.2"
+    lodash.uniq "^4.5.0"
+
 caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
   version "1.0.30000939"
   resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000939.tgz#8cb54a9868fe040fbf2e2441408c68b7008912e8"
 
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000955:
+  version "1.0.30000957"
+  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000957.tgz#fb1026bf184d7d62c685205358c3b24b9e29f7b3"
+
 caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.30000939:
   version "1.0.30000939"
   resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000939.tgz#b9ab7ac9e861bf78840b80c5dfbc471a5cd7e679"
@@ -2594,6 +2619,14 @@ co@^4.6.0:
   version "4.6.0"
   resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
 
+coa@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3"
+  dependencies:
+    "@types/q" "^1.5.1"
+    chalk "^2.4.1"
+    q "^1.1.2"
+
 coa@~1.0.1:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd"
@@ -2611,7 +2644,7 @@ collection-visit@^1.0.0:
     map-visit "^1.0.0"
     object-visit "^1.0.0"
 
-color-convert@^1.3.0, color-convert@^1.9.0:
+color-convert@^1.3.0, color-convert@^1.9.0, color-convert@^1.9.1:
   version "1.9.3"
   resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
   dependencies:
@@ -2631,6 +2664,13 @@ color-string@^0.3.0:
   dependencies:
     color-name "^1.0.0"
 
+color-string@^1.5.2:
+  version "1.5.3"
+  resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc"
+  dependencies:
+    color-name "^1.0.0"
+    simple-swizzle "^0.2.2"
+
 color@^0.11.0:
   version "0.11.4"
   resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764"
@@ -2639,6 +2679,13 @@ color@^0.11.0:
     color-convert "^1.3.0"
     color-string "^0.3.0"
 
+color@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/color/-/color-3.1.0.tgz#d8e9fb096732875774c84bf922815df0308d0ffc"
+  dependencies:
+    color-convert "^1.9.1"
+    color-string "^1.5.2"
+
 colormin@^1.0.5:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133"
@@ -3055,6 +3102,15 @@ cosmiconfig@^4.0.0:
     parse-json "^4.0.0"
     require-from-string "^2.0.1"
 
+cosmiconfig@^5.0.0:
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.0.tgz#45038e4d28a7fe787203aede9c25bca4a08b12c8"
+  dependencies:
+    import-fresh "^2.0.0"
+    is-directory "^0.3.1"
+    js-yaml "^3.13.0"
+    parse-json "^4.0.0"
+
 cosmiconfig@^5.0.2, cosmiconfig@^5.1.0:
   version "5.1.0"
   resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.1.0.tgz#6c5c35e97f37f985061cdf653f114784231185cf"
@@ -3127,10 +3183,17 @@ crypto-browserify@^3.11.0:
     randombytes "^2.0.0"
     randomfill "^1.0.3"
 
-css-color-names@0.0.4:
+css-color-names@0.0.4, css-color-names@^0.0.4:
   version "0.0.4"
   resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
 
+css-declaration-sorter@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22"
+  dependencies:
+    postcss "^7.0.1"
+    timsort "^0.3.0"
+
 css-loader@^0.28.11:
   version "0.28.11"
   resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.11.tgz#c3f9864a700be2711bb5a2462b2389b1a392dab7"
@@ -3154,6 +3217,10 @@ css-parse@1.7.x:
   version "1.7.0"
   resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-1.7.0.tgz#321f6cf73782a6ff751111390fc05e2c657d8c9b"
 
+css-select-base-adapter@^0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7"
+
 css-select@^1.1.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
@@ -3163,6 +3230,15 @@ css-select@^1.1.0:
     domutils "1.5.1"
     nth-check "~1.0.1"
 
+css-select@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz#ab4386cec9e1f668855564b17c3733b43b2a5ede"
+  dependencies:
+    boolbase "^1.0.0"
+    css-what "^2.1.2"
+    domutils "^1.7.0"
+    nth-check "^1.0.2"
+
 css-selector-tokenizer@^0.7.0:
   version "0.7.1"
   resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d"
@@ -3171,7 +3247,29 @@ css-selector-tokenizer@^0.7.0:
     fastparse "^1.1.1"
     regexpu-core "^1.0.0"
 
-css-what@2.1:
+css-tree@1.0.0-alpha.28:
+  version "1.0.0-alpha.28"
+  resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f"
+  dependencies:
+    mdn-data "~1.1.0"
+    source-map "^0.5.3"
+
+css-tree@1.0.0-alpha.29:
+  version "1.0.0-alpha.29"
+  resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39"
+  dependencies:
+    mdn-data "~1.1.0"
+    source-map "^0.5.3"
+
+css-unit-converter@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996"
+
+css-url-regex@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/css-url-regex/-/css-url-regex-1.1.0.tgz#83834230cc9f74c457de59eebd1543feeb83b7ec"
+
+css-what@2.1, css-what@^2.1.2:
   version "2.1.3"
   resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
 
@@ -3192,6 +3290,59 @@ cssesc@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703"
 
+cssnano-preset-default@^4.0.7:
+  version "4.0.7"
+  resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76"
+  dependencies:
+    css-declaration-sorter "^4.0.1"
+    cssnano-util-raw-cache "^4.0.1"
+    postcss "^7.0.0"
+    postcss-calc "^7.0.1"
+    postcss-colormin "^4.0.3"
+    postcss-convert-values "^4.0.1"
+    postcss-discard-comments "^4.0.2"
+    postcss-discard-duplicates "^4.0.2"
+    postcss-discard-empty "^4.0.1"
+    postcss-discard-overridden "^4.0.1"
+    postcss-merge-longhand "^4.0.11"
+    postcss-merge-rules "^4.0.3"
+    postcss-minify-font-values "^4.0.2"
+    postcss-minify-gradients "^4.0.2"
+    postcss-minify-params "^4.0.2"
+    postcss-minify-selectors "^4.0.2"
+    postcss-normalize-charset "^4.0.1"
+    postcss-normalize-display-values "^4.0.2"
+    postcss-normalize-positions "^4.0.2"
+    postcss-normalize-repeat-style "^4.0.2"
+    postcss-normalize-string "^4.0.2"
+    postcss-normalize-timing-functions "^4.0.2"
+    postcss-normalize-unicode "^4.0.1"
+    postcss-normalize-url "^4.0.1"
+    postcss-normalize-whitespace "^4.0.2"
+    postcss-ordered-values "^4.1.2"
+    postcss-reduce-initial "^4.0.3"
+    postcss-reduce-transforms "^4.0.2"
+    postcss-svgo "^4.0.2"
+    postcss-unique-selectors "^4.0.1"
+
+cssnano-util-get-arguments@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f"
+
+cssnano-util-get-match@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d"
+
+cssnano-util-raw-cache@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282"
+  dependencies:
+    postcss "^7.0.0"
+
+cssnano-util-same-parent@^4.0.0:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3"
+
 cssnano@^3.10.0:
   version "3.10.0"
   resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38"
@@ -3229,6 +3380,21 @@ cssnano@^3.10.0:
     postcss-value-parser "^3.2.3"
     postcss-zindex "^2.0.1"
 
+cssnano@^4.1.0:
+  version "4.1.10"
+  resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2"
+  dependencies:
+    cosmiconfig "^5.0.0"
+    cssnano-preset-default "^4.0.7"
+    is-resolvable "^1.0.0"
+    postcss "^7.0.0"
+
+csso@^3.5.1:
+  version "3.5.1"
+  resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b"
+  dependencies:
+    css-tree "1.0.0-alpha.29"
+
 csso@~2.3.1:
   version "2.3.2"
   resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85"
@@ -3384,7 +3550,7 @@ defaults@^1.0.3:
   dependencies:
     clone "^1.0.2"
 
-define-properties@^1.1.2:
+define-properties@^1.1.2, define-properties@^1.1.3:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
   dependencies:
@@ -3586,7 +3752,7 @@ domutils@1.5.1:
     dom-serializer "0"
     domelementtype "1"
 
-domutils@^1.5.1:
+domutils@^1.5.1, domutils@^1.7.0:
   version "1.7.0"
   resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
   dependencies:
@@ -3599,7 +3765,7 @@ dot-prop@^3.0.0:
   dependencies:
     is-obj "^1.0.0"
 
-dot-prop@^4.2.0:
+dot-prop@^4.1.1, dot-prop@^4.2.0:
   version "4.2.0"
   resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57"
   dependencies:
@@ -3644,6 +3810,10 @@ electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.113, electron-to-chromium
   version "1.3.113"
   resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz#b1ccf619df7295aea17bc6951dc689632629e4a9"
 
+electron-to-chromium@^1.3.122:
+  version "1.3.124"
+  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.124.tgz#861fc0148748a11b3e5ccebdf8b795ff513fa11f"
+
 elegant-spinner@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e"
@@ -3715,7 +3885,7 @@ error-ex@^1.2.0, error-ex@^1.3.1:
   dependencies:
     is-arrayish "^0.2.1"
 
-es-abstract@^1.5.1:
+es-abstract@^1.12.0, es-abstract@^1.5.1:
   version "1.13.0"
   resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"
   dependencies:
@@ -4679,7 +4849,7 @@ has-values@^1.0.0:
     is-number "^3.0.0"
     kind-of "^4.0.0"
 
-has@^1.0.1, has@^1.0.3:
+has@^1.0.0, has@^1.0.1, has@^1.0.3:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
   dependencies:
@@ -4707,6 +4877,10 @@ he@1.2.x, he@^1.1.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
 
+hex-color-regex@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
+
 hmac-drbg@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
@@ -4739,6 +4913,14 @@ hpack.js@^2.1.6:
     readable-stream "^2.0.1"
     wbuf "^1.1.0"
 
+hsl-regex@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e"
+
+hsla-regex@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38"
+
 html-comment-regex@^1.1.0:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7"
@@ -5071,6 +5253,10 @@ is-arrayish@^0.2.1:
   version "0.2.1"
   resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
 
+is-arrayish@^0.3.1:
+  version "0.3.2"
+  resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
+
 is-binary-path@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
@@ -5097,6 +5283,17 @@ is-ci@^2.0.0:
   dependencies:
     ci-info "^2.0.0"
 
+is-color-stop@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345"
+  dependencies:
+    css-color-names "^0.0.4"
+    hex-color-regex "^1.1.0"
+    hsl-regex "^1.0.0"
+    hsla-regex "^1.0.0"
+    rgb-regex "^1.0.1"
+    rgba-regex "^1.0.0"
+
 is-data-descriptor@^0.1.4:
   version "0.1.4"
   resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
@@ -5259,6 +5456,12 @@ is-svg@^2.0.0:
   dependencies:
     html-comment-regex "^1.1.0"
 
+is-svg@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75"
+  dependencies:
+    html-comment-regex "^1.1.0"
+
 is-symbol@^1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38"
@@ -5753,6 +5956,13 @@ js-yaml@^3.11.0, js-yaml@^3.12.0, js-yaml@^3.9.0, js-yaml@^3.9.1:
     argparse "^1.0.7"
     esprima "^4.0.0"
 
+js-yaml@^3.13.0:
+  version "3.13.1"
+  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
+  dependencies:
+    argparse "^1.0.7"
+    esprima "^4.0.0"
+
 js-yaml@~3.7.0:
   version "3.7.0"
   resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
@@ -6317,6 +6527,10 @@ md5.js@^1.3.4:
     inherits "^2.0.1"
     safe-buffer "^5.1.2"
 
+mdn-data@~1.1.0:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01"
+
 mdurl@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
@@ -6750,6 +6964,12 @@ node-pre-gyp@^0.10.0:
     semver "^5.3.0"
     tar "^4"
 
+node-releases@^1.1.13:
+  version "1.1.13"
+  resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.13.tgz#8c03296b5ae60c08e2ff4f8f22ae45bd2f210083"
+  dependencies:
+    semver "^5.3.0"
+
 node-releases@^1.1.8:
   version "1.1.9"
   resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.9.tgz#70d0985ec4bf7de9f08fc481f5dae111889ca482"
@@ -6811,7 +7031,7 @@ normalize-url@^1.4.0:
     query-string "^4.1.0"
     sort-keys "^1.0.0"
 
-normalize-url@^3.3.0:
+normalize-url@^3.0.0, normalize-url@^3.3.0:
   version "3.3.0"
   resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
 
@@ -6900,7 +7120,7 @@ nprogress@^0.2.0:
   version "0.2.0"
   resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1"
 
-nth-check@~1.0.1:
+nth-check@^1.0.2, nth-check@~1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
   dependencies:
@@ -6966,6 +7186,15 @@ object.pick@^1.3.0:
   dependencies:
     isobject "^3.0.1"
 
+object.values@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9"
+  dependencies:
+    define-properties "^1.1.3"
+    es-abstract "^1.12.0"
+    function-bind "^1.1.1"
+    has "^1.0.3"
+
 obuf@^1.0.0, obuf@^1.1.2:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
@@ -7009,11 +7238,11 @@ optimist@^0.6.1:
     minimist "~0.0.1"
     wordwrap "~0.0.2"
 
-optimize-css-assets-webpack-plugin@^4.0.0:
-  version "4.0.3"
-  resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-4.0.3.tgz#4f714e276b279700892c4a6202b7e22812d6f683"
+optimize-css-assets-webpack-plugin@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.1.tgz#9eb500711d35165b45e7fd60ba2df40cb3eb9159"
   dependencies:
-    cssnano "^3.10.0"
+    cssnano "^4.1.0"
     last-call-webpack-plugin "^3.0.0"
 
 optionator@^0.8.1, optionator@^0.8.2:
@@ -7387,6 +7616,15 @@ postcss-calc@^5.2.0:
     postcss-message-helpers "^2.0.0"
     reduce-css-calc "^1.2.6"
 
+postcss-calc@^7.0.1:
+  version "7.0.1"
+  resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436"
+  dependencies:
+    css-unit-converter "^1.1.1"
+    postcss "^7.0.5"
+    postcss-selector-parser "^5.0.0-rc.4"
+    postcss-value-parser "^3.3.1"
+
 postcss-colormin@^2.1.8:
   version "2.2.2"
   resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b"
@@ -7395,6 +7633,16 @@ postcss-colormin@^2.1.8:
     postcss "^5.0.13"
     postcss-value-parser "^3.2.3"
 
+postcss-colormin@^4.0.3:
+  version "4.0.3"
+  resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381"
+  dependencies:
+    browserslist "^4.0.0"
+    color "^3.0.0"
+    has "^1.0.0"
+    postcss "^7.0.0"
+    postcss-value-parser "^3.0.0"
+
 postcss-convert-values@^2.3.4:
   version "2.6.1"
   resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d"
@@ -7402,30 +7650,61 @@ postcss-convert-values@^2.3.4:
     postcss "^5.0.11"
     postcss-value-parser "^3.1.2"
 
+postcss-convert-values@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f"
+  dependencies:
+    postcss "^7.0.0"
+    postcss-value-parser "^3.0.0"
+
 postcss-discard-comments@^2.0.4:
   version "2.0.4"
   resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d"
   dependencies:
     postcss "^5.0.14"
 
+postcss-discard-comments@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033"
+  dependencies:
+    postcss "^7.0.0"
+
 postcss-discard-duplicates@^2.0.1:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932"
   dependencies:
     postcss "^5.0.4"
 
+postcss-discard-duplicates@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb"
+  dependencies:
+    postcss "^7.0.0"
+
 postcss-discard-empty@^2.0.1:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5"
   dependencies:
     postcss "^5.0.14"
 
+postcss-discard-empty@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765"
+  dependencies:
+    postcss "^7.0.0"
+
 postcss-discard-overridden@^0.1.1:
   version "0.1.1"
   resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58"
   dependencies:
     postcss "^5.0.16"
 
+postcss-discard-overridden@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57"
+  dependencies:
+    postcss "^7.0.0"
+
 postcss-discard-unused@^2.2.1:
   version "2.2.3"
   resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433"
@@ -7469,6 +7748,15 @@ postcss-merge-longhand@^2.0.1:
   dependencies:
     postcss "^5.0.4"
 
+postcss-merge-longhand@^4.0.11:
+  version "4.0.11"
+  resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24"
+  dependencies:
+    css-color-names "0.0.4"
+    postcss "^7.0.0"
+    postcss-value-parser "^3.0.0"
+    stylehacks "^4.0.0"
+
 postcss-merge-rules@^2.0.3:
   version "2.1.2"
   resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721"
@@ -7479,6 +7767,17 @@ postcss-merge-rules@^2.0.3:
     postcss-selector-parser "^2.2.2"
     vendors "^1.0.0"
 
+postcss-merge-rules@^4.0.3:
+  version "4.0.3"
+  resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650"
+  dependencies:
+    browserslist "^4.0.0"
+    caniuse-api "^3.0.0"
+    cssnano-util-same-parent "^4.0.0"
+    postcss "^7.0.0"
+    postcss-selector-parser "^3.0.0"
+    vendors "^1.0.0"
+
 postcss-message-helpers@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e"
@@ -7491,6 +7790,13 @@ postcss-minify-font-values@^1.0.2:
     postcss "^5.0.4"
     postcss-value-parser "^3.0.2"
 
+postcss-minify-font-values@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6"
+  dependencies:
+    postcss "^7.0.0"
+    postcss-value-parser "^3.0.0"
+
 postcss-minify-gradients@^1.0.1:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1"
@@ -7498,6 +7804,15 @@ postcss-minify-gradients@^1.0.1:
     postcss "^5.0.12"
     postcss-value-parser "^3.3.0"
 
+postcss-minify-gradients@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471"
+  dependencies:
+    cssnano-util-get-arguments "^4.0.0"
+    is-color-stop "^1.0.0"
+    postcss "^7.0.0"
+    postcss-value-parser "^3.0.0"
+
 postcss-minify-params@^1.0.4:
   version "1.2.2"
   resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3"
@@ -7507,6 +7822,17 @@ postcss-minify-params@^1.0.4:
     postcss-value-parser "^3.0.2"
     uniqs "^2.0.0"
 
+postcss-minify-params@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874"
+  dependencies:
+    alphanum-sort "^1.0.0"
+    browserslist "^4.0.0"
+    cssnano-util-get-arguments "^4.0.0"
+    postcss "^7.0.0"
+    postcss-value-parser "^3.0.0"
+    uniqs "^2.0.0"
+
 postcss-minify-selectors@^2.0.4:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf"
@@ -7516,6 +7842,15 @@ postcss-minify-selectors@^2.0.4:
     postcss "^5.0.14"
     postcss-selector-parser "^2.0.0"
 
+postcss-minify-selectors@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8"
+  dependencies:
+    alphanum-sort "^1.0.0"
+    has "^1.0.0"
+    postcss "^7.0.0"
+    postcss-selector-parser "^3.0.0"
+
 postcss-modules-extract-imports@^1.2.0:
   version "1.2.1"
   resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz#dc87e34148ec7eab5f791f7cd5849833375b741a"
@@ -7549,6 +7884,62 @@ postcss-normalize-charset@^1.1.0:
   dependencies:
     postcss "^5.0.5"
 
+postcss-normalize-charset@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4"
+  dependencies:
+    postcss "^7.0.0"
+
+postcss-normalize-display-values@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a"
+  dependencies:
+    cssnano-util-get-match "^4.0.0"
+    postcss "^7.0.0"
+    postcss-value-parser "^3.0.0"
+
+postcss-normalize-positions@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f"
+  dependencies:
+    cssnano-util-get-arguments "^4.0.0"
+    has "^1.0.0"
+    postcss "^7.0.0"
+    postcss-value-parser "^3.0.0"
+
+postcss-normalize-repeat-style@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c"
+  dependencies:
+    cssnano-util-get-arguments "^4.0.0"
+    cssnano-util-get-match "^4.0.0"
+    postcss "^7.0.0"
+    postcss-value-parser "^3.0.0"
+
+postcss-normalize-string@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c"
+  dependencies:
+    has "^1.0.0"
+    postcss "^7.0.0"
+    postcss-value-parser "^3.0.0"
+
+postcss-normalize-timing-functions@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9"
+  dependencies:
+    cssnano-util-get-match "^4.0.0"
+    postcss "^7.0.0"
+    postcss-value-parser "^3.0.0"
+
+postcss-normalize-unicode@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb"
+  dependencies:
+    browserslist "^4.0.0"
+    postcss "^7.0.0"
+    postcss-value-parser "^3.0.0"
+
 postcss-normalize-url@^3.0.7:
   version "3.0.8"
   resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222"
@@ -7558,6 +7949,22 @@ postcss-normalize-url@^3.0.7:
     postcss "^5.0.14"
     postcss-value-parser "^3.2.3"
 
+postcss-normalize-url@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1"
+  dependencies:
+    is-absolute-url "^2.0.0"
+    normalize-url "^3.0.0"
+    postcss "^7.0.0"
+    postcss-value-parser "^3.0.0"
+
+postcss-normalize-whitespace@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82"
+  dependencies:
+    postcss "^7.0.0"
+    postcss-value-parser "^3.0.0"
+
 postcss-ordered-values@^2.1.0:
   version "2.2.3"
   resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d"
@@ -7565,6 +7972,14 @@ postcss-ordered-values@^2.1.0:
     postcss "^5.0.4"
     postcss-value-parser "^3.0.1"
 
+postcss-ordered-values@^4.1.2:
+  version "4.1.2"
+  resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee"
+  dependencies:
+    cssnano-util-get-arguments "^4.0.0"
+    postcss "^7.0.0"
+    postcss-value-parser "^3.0.0"
+
 postcss-reduce-idents@^2.2.2:
   version "2.4.0"
   resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3"
@@ -7578,6 +7993,15 @@ postcss-reduce-initial@^1.0.0:
   dependencies:
     postcss "^5.0.4"
 
+postcss-reduce-initial@^4.0.3:
+  version "4.0.3"
+  resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df"
+  dependencies:
+    browserslist "^4.0.0"
+    caniuse-api "^3.0.0"
+    has "^1.0.0"
+    postcss "^7.0.0"
+
 postcss-reduce-transforms@^1.0.3:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1"
@@ -7586,6 +8010,21 @@ postcss-reduce-transforms@^1.0.3:
     postcss "^5.0.8"
     postcss-value-parser "^3.0.1"
 
+postcss-reduce-transforms@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29"
+  dependencies:
+    cssnano-util-get-match "^4.0.0"
+    has "^1.0.0"
+    postcss "^7.0.0"
+    postcss-value-parser "^3.0.0"
+
+postcss-safe-parser@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz#8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea"
+  dependencies:
+    postcss "^7.0.0"
+
 postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2:
   version "2.2.3"
   resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90"
@@ -7594,7 +8033,15 @@ postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2:
     indexes-of "^1.0.1"
     uniq "^1.0.1"
 
-postcss-selector-parser@^5.0.0:
+postcss-selector-parser@^3.0.0:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865"
+  dependencies:
+    dot-prop "^4.1.1"
+    indexes-of "^1.0.1"
+    uniq "^1.0.1"
+
+postcss-selector-parser@^5.0.0, postcss-selector-parser@^5.0.0-rc.4:
   version "5.0.0"
   resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c"
   dependencies:
@@ -7611,6 +8058,15 @@ postcss-svgo@^2.1.1:
     postcss-value-parser "^3.2.3"
     svgo "^0.7.0"
 
+postcss-svgo@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258"
+  dependencies:
+    is-svg "^3.0.0"
+    postcss "^7.0.0"
+    postcss-value-parser "^3.0.0"
+    svgo "^1.0.0"
+
 postcss-unique-selectors@^2.0.2:
   version "2.0.2"
   resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d"
@@ -7619,7 +8075,15 @@ postcss-unique-selectors@^2.0.2:
     postcss "^5.0.4"
     uniqs "^2.0.0"
 
-postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0:
+postcss-unique-selectors@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac"
+  dependencies:
+    alphanum-sort "^1.0.0"
+    postcss "^7.0.0"
+    uniqs "^2.0.0"
+
+postcss-value-parser@^3.0.0, postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1:
   version "3.3.1"
   resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
 
@@ -7648,7 +8112,7 @@ postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.17:
     source-map "^0.6.1"
     supports-color "^5.4.0"
 
-postcss@^7.0.14:
+postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.5:
   version "7.0.14"
   resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5"
   dependencies:
@@ -8275,6 +8739,14 @@ retry@^0.10.0:
   version "0.10.1"
   resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4"
 
+rgb-regex@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1"
+
+rgba-regex@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
+
 rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@~2.6.2:
   version "2.6.3"
   resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
@@ -8354,7 +8826,7 @@ sax@0.5.x:
   version "0.5.8"
   resolved "https://registry.yarnpkg.com/sax/-/sax-0.5.8.tgz#d472db228eb331c2506b0e8c15524adb939d12c1"
 
-sax@^1.2.4, sax@~1.2.1:
+sax@^1.2.4, sax@~1.2.1, sax@~1.2.4:
   version "1.2.4"
   resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
 
@@ -8508,6 +8980,12 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
 
+simple-swizzle@^0.2.2:
+  version "0.2.2"
+  resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
+  dependencies:
+    is-arrayish "^0.3.1"
+
 sisteransi@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c"
@@ -8743,6 +9221,10 @@ ssri@^6.0.0, ssri@^6.0.1:
   dependencies:
     figgy-pudding "^3.5.1"
 
+stable@^0.1.8:
+  version "0.1.8"
+  resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
+
 stack-utils@^1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8"
@@ -8919,6 +9401,14 @@ strong-log-transformer@^2.0.0:
     minimist "^1.2.0"
     through "^2.3.4"
 
+stylehacks@^4.0.0:
+  version "4.0.3"
+  resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5"
+  dependencies:
+    browserslist "^4.0.0"
+    postcss "^7.0.0"
+    postcss-selector-parser "^3.0.0"
+
 stylus-loader@^3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-3.0.2.tgz#27a706420b05a38e038e7cacb153578d450513c6"
@@ -8976,6 +9466,25 @@ svgo@^0.7.0:
     sax "~1.2.1"
     whet.extend "~0.9.9"
 
+svgo@^1.0.0:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.2.1.tgz#3fedde75a4016193e1c2608b5fdef6f3e4a9fd99"
+  dependencies:
+    chalk "^2.4.1"
+    coa "^2.0.2"
+    css-select "^2.0.0"
+    css-select-base-adapter "^0.1.1"
+    css-tree "1.0.0-alpha.28"
+    css-url-regex "^1.1.0"
+    csso "^3.5.1"
+    js-yaml "^3.13.0"
+    mkdirp "~0.5.1"
+    object.values "^1.1.0"
+    sax "~1.2.4"
+    stable "^0.1.8"
+    unquote "~1.1.1"
+    util.promisify "~1.0.0"
+
 symbol-observable@^1.1.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
@@ -9115,6 +9624,10 @@ timers-browserify@^2.0.4:
   dependencies:
     setimmediate "^1.0.4"
 
+timsort@^0.3.0:
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
+
 tiny-emitter@^2.0.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
@@ -9347,6 +9860,10 @@ unpipe@1.0.0, unpipe@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
 
+unquote@~1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544"
+
 unset-value@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
@@ -9406,7 +9923,7 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
 
-util.promisify@1.0.0, util.promisify@^1.0.0:
+util.promisify@1.0.0, util.promisify@^1.0.0, util.promisify@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030"
   dependencies:
@@ -9570,7 +10087,6 @@ vuepress-html-webpack-plugin@^3.2.0:
 vuepress-plugin-container@^2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/vuepress-plugin-container/-/vuepress-plugin-container-2.0.1.tgz#b20ef97dd91f137c8be119460927c5ffd64e0f77"
-  integrity sha512-SMlWJl0uZYkqAxD2RUZmIrANZWKgiZdM64K7WmdyHyQPYI+NUj3ugi5D+zDn62BoO9NfQTiskEIa2u619SRweA==
   dependencies:
     markdown-it-container "^2.0.0"
 

From 46406148f630fa1f83ff93ab1a7ceff122e9a86c Mon Sep 17 00:00:00 2001
From: ULIVZ <472590061@qq.com>
Date: Sun, 7 Apr 2019 01:33:10 +0800
Subject: [PATCH 21/24] feat($plugin-pwa): allow using local workbox files
 (close: #539)

---
 packages/@vuepress/plugin-pwa/index.js              | 3 ++-
 packages/docs/docs/plugin/official/plugin-pwa.md    | 8 ++++++++
 packages/docs/docs/zh/plugin/official/plugin-pwa.md | 8 ++++++++
 3 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/packages/@vuepress/plugin-pwa/index.js b/packages/@vuepress/plugin-pwa/index.js
index 748f1752..0bbf49e3 100644
--- a/packages/@vuepress/plugin-pwa/index.js
+++ b/packages/@vuepress/plugin-pwa/index.js
@@ -40,7 +40,8 @@ module.exports = (options, context) => ({
       await wbb.generateSW({
         swDest: swFilePath,
         globDirectory: outDir,
-        globPatterns: ['**\/*.{js,css,html,png,jpg,jpeg,gif,svg,woff,woff2,eot,ttf,otf}']
+        globPatterns: ['**\/*.{js,css,html,png,jpg,jpeg,gif,svg,woff,woff2,eot,ttf,otf}'],
+        ...(options.generateSWConfig || {})
       })
       await fs.writeFile(
         swFilePath,
diff --git a/packages/docs/docs/plugin/official/plugin-pwa.md b/packages/docs/docs/plugin/official/plugin-pwa.md
index ecee4ca1..0e532c11 100644
--- a/packages/docs/docs/plugin/official/plugin-pwa.md
+++ b/packages/docs/docs/plugin/official/plugin-pwa.md
@@ -45,6 +45,14 @@ The `serviceWorker` option only handles the service worker. To make your site fu
 Also, only enable this if you are able to deploy your site with SSL, since service worker can only be registered under HTTPs URLs.
 :::
 
+### generateSWConfig
+
+- Type: `object`
+- Default: `{}`
+
+[generateSW config](https://developers.google.com/web/tools/workbox/modules/workbox-build#full_generatesw_config) of workbox-build.
+
+
 ### updatePopup
 
 - Type: `boolean|object`
diff --git a/packages/docs/docs/zh/plugin/official/plugin-pwa.md b/packages/docs/docs/zh/plugin/official/plugin-pwa.md
index 14b514d5..6823f641 100644
--- a/packages/docs/docs/zh/plugin/official/plugin-pwa.md
+++ b/packages/docs/docs/zh/plugin/official/plugin-pwa.md
@@ -44,6 +44,14 @@ module.exports = {
 此外,只有您能够使用 SSL 部署您的站点时才能启用此功能,因为 service worker 只能在 HTTPs 的 URL 下注册。
 :::
 
+### generateSWConfig
+
+- 类型: `object`
+- 默认值: `{}`
+
+workbox-build 的 [generateSW config](https://developers.google.com/web/tools/workbox/modules/workbox-build#full_generatesw_config)。
+
+
 ### updatePopup
 
 - 类型: `boolean|popupConfig`

From 78ce258b22f399eac7e16aa87bf06373f752e477 Mon Sep 17 00:00:00 2001
From: ULIVZ <472590061@qq.com>
Date: Sun, 7 Apr 2019 01:37:49 +0800
Subject: [PATCH 22/24] v1.0.0-alpha.47

---
 lerna.json                                         |  2 +-
 packages/@vuepress/core/package.json               | 12 ++++++------
 packages/@vuepress/markdown-loader/package.json    |  4 ++--
 packages/@vuepress/markdown/package.json           |  6 +++---
 .../plugin-active-header-links/package.json        |  2 +-
 packages/@vuepress/plugin-back-to-top/package.json |  2 +-
 packages/@vuepress/plugin-blog/package.json        |  2 +-
 .../@vuepress/plugin-google-analytics/package.json |  2 +-
 .../@vuepress/plugin-last-updated/package.json     |  2 +-
 packages/@vuepress/plugin-medium-zoom/package.json |  2 +-
 packages/@vuepress/plugin-nprogress/package.json   |  2 +-
 packages/@vuepress/plugin-pagination/package.json  |  2 +-
 packages/@vuepress/plugin-pwa/package.json         |  4 ++--
 .../plugin-register-components/package.json        |  4 ++--
 packages/@vuepress/plugin-search/package.json      |  2 +-
 packages/@vuepress/shared-utils/package.json       |  2 +-
 packages/@vuepress/test-utils/package.json         |  6 +++---
 packages/@vuepress/theme-blog/package.json         | 10 +++++-----
 packages/@vuepress/theme-default/package.json      |  8 ++++----
 packages/@vuepress/theme-vue/package.json          |  4 ++--
 packages/blog/package.json                         |  6 +++---
 packages/docs/package.json                         | 14 +++++++-------
 packages/vuepress/package.json                     |  6 +++---
 23 files changed, 53 insertions(+), 53 deletions(-)

diff --git a/lerna.json b/lerna.json
index a0dd2828..7c6d8823 100644
--- a/lerna.json
+++ b/lerna.json
@@ -2,5 +2,5 @@
   "lerna": "2.5.1",
   "npmClient": "yarn",
   "useWorkspaces": true,
-  "version": "1.0.0-alpha.46"
+  "version": "1.0.0-alpha.47"
 }
diff --git a/packages/@vuepress/core/package.json b/packages/@vuepress/core/package.json
index 7a4ace48..3f9ca0c3 100644
--- a/packages/@vuepress/core/package.json
+++ b/packages/@vuepress/core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/core",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "Minimalistic doc generator with Vue component based layout system",
   "main": "lib/index.js",
   "repository": {
@@ -31,11 +31,11 @@
   "dependencies": {
     "@babel/core": "^7.0.0",
     "@vue/babel-preset-app": "^3.1.1",
-    "@vuepress/markdown": "^1.0.0-alpha.46",
-    "@vuepress/markdown-loader": "^1.0.0-alpha.46",
-    "@vuepress/plugin-last-updated": "^1.0.0-alpha.46",
-    "@vuepress/plugin-register-components": "^1.0.0-alpha.46",
-    "@vuepress/shared-utils": "^1.0.0-alpha.46",
+    "@vuepress/markdown": "^1.0.0-alpha.47",
+    "@vuepress/markdown-loader": "^1.0.0-alpha.47",
+    "@vuepress/plugin-last-updated": "^1.0.0-alpha.47",
+    "@vuepress/plugin-register-components": "^1.0.0-alpha.47",
+    "@vuepress/shared-utils": "^1.0.0-alpha.47",
     "autoprefixer": "^7.1.2",
     "babel-loader": "^8.0.4",
     "cache-loader": "^1.2.2",
diff --git a/packages/@vuepress/markdown-loader/package.json b/packages/@vuepress/markdown-loader/package.json
index 654e11b0..6d308fcd 100644
--- a/packages/@vuepress/markdown-loader/package.json
+++ b/packages/@vuepress/markdown-loader/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/markdown-loader",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "markdown-loader for vuepress",
   "main": "index.js",
   "publishConfig": {
@@ -18,7 +18,7 @@
     "generator"
   ],
   "dependencies": {
-    "@vuepress/markdown": "^1.0.0-alpha.46",
+    "@vuepress/markdown": "^1.0.0-alpha.47",
     "loader-utils": "^1.1.0",
     "lru-cache": "^5.1.1"
   },
diff --git a/packages/@vuepress/markdown/package.json b/packages/@vuepress/markdown/package.json
index a2c3959a..3dfe2c50 100644
--- a/packages/@vuepress/markdown/package.json
+++ b/packages/@vuepress/markdown/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/markdown",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "markdown for vuepress",
   "main": "index.js",
   "publishConfig": {
@@ -19,7 +19,7 @@
     "markdown"
   ],
   "dependencies": {
-    "@vuepress/shared-utils": "^1.0.0-alpha.46",
+    "@vuepress/shared-utils": "^1.0.0-alpha.47",
     "lru-cache": "^5.1.1",
     "markdown-it": "^8.4.1",
     "markdown-it-anchor": "^5.0.2",
@@ -28,7 +28,7 @@
     "prismjs": "^1.13.0"
   },
   "devDependencies": {
-    "@vuepress/test-utils": "^1.0.0-alpha.46"
+    "@vuepress/test-utils": "^1.0.0-alpha.47"
   },
   "author": "Evan You",
   "maintainers": [
diff --git a/packages/@vuepress/plugin-active-header-links/package.json b/packages/@vuepress/plugin-active-header-links/package.json
index 106a7e77..ea417774 100644
--- a/packages/@vuepress/plugin-active-header-links/package.json
+++ b/packages/@vuepress/plugin-active-header-links/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/plugin-active-header-links",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "active-header-links plugin for vuepress",
   "main": "index.js",
   "publishConfig": {
diff --git a/packages/@vuepress/plugin-back-to-top/package.json b/packages/@vuepress/plugin-back-to-top/package.json
index 9fb649a5..f0613eee 100644
--- a/packages/@vuepress/plugin-back-to-top/package.json
+++ b/packages/@vuepress/plugin-back-to-top/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/plugin-back-to-top",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "back-to-top plugin for vuepress",
   "main": "index.js",
   "publishConfig": {
diff --git a/packages/@vuepress/plugin-blog/package.json b/packages/@vuepress/plugin-blog/package.json
index 8b0e5e43..bd3029dc 100644
--- a/packages/@vuepress/plugin-blog/package.json
+++ b/packages/@vuepress/plugin-blog/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/plugin-blog",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "blog plugin for vuepress",
   "main": "index.js",
   "publishConfig": {
diff --git a/packages/@vuepress/plugin-google-analytics/package.json b/packages/@vuepress/plugin-google-analytics/package.json
index 717808f6..4de2df27 100644
--- a/packages/@vuepress/plugin-google-analytics/package.json
+++ b/packages/@vuepress/plugin-google-analytics/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/plugin-google-analytics",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "google-analytics plugin for vuepress",
   "main": "index.js",
   "publishConfig": {
diff --git a/packages/@vuepress/plugin-last-updated/package.json b/packages/@vuepress/plugin-last-updated/package.json
index 3aff6f67..97985644 100644
--- a/packages/@vuepress/plugin-last-updated/package.json
+++ b/packages/@vuepress/plugin-last-updated/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/plugin-last-updated",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "last-updated plugin for vuepress",
   "main": "index.js",
   "publishConfig": {
diff --git a/packages/@vuepress/plugin-medium-zoom/package.json b/packages/@vuepress/plugin-medium-zoom/package.json
index 8c2f2bbf..70beef65 100644
--- a/packages/@vuepress/plugin-medium-zoom/package.json
+++ b/packages/@vuepress/plugin-medium-zoom/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/plugin-medium-zoom",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "medium-zoom plugin for vuepress",
   "main": "index.js",
   "publishConfig": {
diff --git a/packages/@vuepress/plugin-nprogress/package.json b/packages/@vuepress/plugin-nprogress/package.json
index cf633437..735ca48c 100644
--- a/packages/@vuepress/plugin-nprogress/package.json
+++ b/packages/@vuepress/plugin-nprogress/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/plugin-nprogress",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "nprogress plugin for vuepress",
   "main": "index.js",
   "publishConfig": {
diff --git a/packages/@vuepress/plugin-pagination/package.json b/packages/@vuepress/plugin-pagination/package.json
index 24bc57c0..e55ffc8a 100644
--- a/packages/@vuepress/plugin-pagination/package.json
+++ b/packages/@vuepress/plugin-pagination/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/plugin-pagination",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "pagination plugin for vuepress",
   "main": "index.js",
   "publishConfig": {
diff --git a/packages/@vuepress/plugin-pwa/package.json b/packages/@vuepress/plugin-pwa/package.json
index 9408bfe1..489a42a0 100644
--- a/packages/@vuepress/plugin-pwa/package.json
+++ b/packages/@vuepress/plugin-pwa/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/plugin-pwa",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "pwa plugin for vuepress",
   "main": "index.js",
   "publishConfig": {
@@ -18,7 +18,7 @@
     "generator"
   ],
   "dependencies": {
-    "@vuepress/shared-utils": "^1.0.0-alpha.46",
+    "@vuepress/shared-utils": "^1.0.0-alpha.47",
     "register-service-worker": "^1.5.2",
     "workbox-build": "^3.1.0"
   },
diff --git a/packages/@vuepress/plugin-register-components/package.json b/packages/@vuepress/plugin-register-components/package.json
index bcd8c22e..afbbb421 100644
--- a/packages/@vuepress/plugin-register-components/package.json
+++ b/packages/@vuepress/plugin-register-components/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/plugin-register-components",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "register-global-components plugin for vuepress",
   "main": "index.js",
   "publishConfig": {
@@ -24,6 +24,6 @@
   },
   "homepage": "https://github.com/vuejs/vuepress/packages/@vuepress/plugin-register-components#readme",
   "dependencies": {
-    "@vuepress/shared-utils": "^1.0.0-alpha.46"
+    "@vuepress/shared-utils": "^1.0.0-alpha.47"
   }
 }
diff --git a/packages/@vuepress/plugin-search/package.json b/packages/@vuepress/plugin-search/package.json
index 43cecd03..19aeedb6 100644
--- a/packages/@vuepress/plugin-search/package.json
+++ b/packages/@vuepress/plugin-search/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/plugin-search",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "search plugin for vuepress",
   "main": "index.js",
   "publishConfig": {
diff --git a/packages/@vuepress/shared-utils/package.json b/packages/@vuepress/shared-utils/package.json
index 2862b5af..cc801a63 100644
--- a/packages/@vuepress/shared-utils/package.json
+++ b/packages/@vuepress/shared-utils/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/shared-utils",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "shared-utils for vuepress",
   "main": "lib/index.js",
   "types": "types/index.d.ts",
diff --git a/packages/@vuepress/test-utils/package.json b/packages/@vuepress/test-utils/package.json
index 13c40e68..d66fb686 100644
--- a/packages/@vuepress/test-utils/package.json
+++ b/packages/@vuepress/test-utils/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/test-utils",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "test-utils for vuepress",
   "main": "index.js",
   "publishConfig": {
@@ -22,8 +22,8 @@
     "@babel/preset-env": "^7.0.0",
     "@types/jest": "^24.0.9",
     "@vue/test-utils": "^1.0.0-beta.29",
-    "@vuepress/core": "^1.0.0-alpha.46",
-    "@vuepress/shared-utils": "^1.0.0-alpha.46",
+    "@vuepress/core": "^1.0.0-alpha.47",
+    "@vuepress/shared-utils": "^1.0.0-alpha.47",
     "babel-jest": "^24.1.0",
     "execa": "^0.10.0",
     "jest": "^24.1.0",
diff --git a/packages/@vuepress/theme-blog/package.json b/packages/@vuepress/theme-blog/package.json
index 03834424..7a192b0e 100644
--- a/packages/@vuepress/theme-blog/package.json
+++ b/packages/@vuepress/theme-blog/package.json
@@ -1,7 +1,7 @@
 {
   "private": true,
   "name": "@vuepress/theme-blog",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "theme-blog for vuepress",
   "main": "index.js",
   "publishConfig": {
@@ -19,10 +19,10 @@
     "generator"
   ],
   "dependencies": {
-    "@vuepress/plugin-blog": "^1.0.0-alpha.46",
-    "@vuepress/plugin-medium-zoom": "^1.0.0-alpha.46",
-    "@vuepress/plugin-pagination": "^1.0.0-alpha.46",
-    "@vuepress/plugin-search": "^1.0.0-alpha.46"
+    "@vuepress/plugin-blog": "^1.0.0-alpha.47",
+    "@vuepress/plugin-medium-zoom": "^1.0.0-alpha.47",
+    "@vuepress/plugin-pagination": "^1.0.0-alpha.47",
+    "@vuepress/plugin-search": "^1.0.0-alpha.47"
   },
   "author": "ULIVZ ",
   "license": "MIT",
diff --git a/packages/@vuepress/theme-default/package.json b/packages/@vuepress/theme-default/package.json
index 68fd8848..192634b9 100644
--- a/packages/@vuepress/theme-default/package.json
+++ b/packages/@vuepress/theme-default/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/theme-default",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "Default theme for VuePress",
   "main": "index.js",
   "publishConfig": {
@@ -30,9 +30,9 @@
   },
   "homepage": "https://github.com/vuejs/vuepress/packages/@vuepress/theme-default#readme",
   "dependencies": {
-    "@vuepress/plugin-active-header-links": "^1.0.0-alpha.46",
-    "@vuepress/plugin-nprogress": "^1.0.0-alpha.46",
-    "@vuepress/plugin-search": "^1.0.0-alpha.46",
+    "@vuepress/plugin-active-header-links": "^1.0.0-alpha.47",
+    "@vuepress/plugin-nprogress": "^1.0.0-alpha.47",
+    "@vuepress/plugin-search": "^1.0.0-alpha.47",
     "docsearch.js": "^2.5.2",
     "stylus": "^0.54.5",
     "stylus-loader": "^3.0.2",
diff --git a/packages/@vuepress/theme-vue/package.json b/packages/@vuepress/theme-vue/package.json
index 249cc994..92825eb4 100644
--- a/packages/@vuepress/theme-vue/package.json
+++ b/packages/@vuepress/theme-vue/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vuepress/theme-vue",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "VuePress theme for official Vue projects",
   "main": "index.js",
   "publishConfig": {
@@ -30,6 +30,6 @@
   },
   "homepage": "https://github.com/vuejs/vuepress/packages/@vuepress/theme-vue#readme",
   "dependencies": {
-    "@vuepress/theme-default": "^1.0.0-alpha.46"
+    "@vuepress/theme-default": "^1.0.0-alpha.47"
   }
 }
diff --git a/packages/blog/package.json b/packages/blog/package.json
index 34540a2d..f53f4085 100644
--- a/packages/blog/package.json
+++ b/packages/blog/package.json
@@ -2,13 +2,13 @@
   "private": true,
   "name": "blog",
   "description": "blog of VuePress",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "scripts": {
     "dev": "vuepress dev source --temp .temp",
     "build": "vuepress build source --temp .temp"
   },
   "dependencies": {
-    "@vuepress/theme-blog": "^1.0.0-alpha.46",
-    "vuepress": "^1.0.0-alpha.46"
+    "@vuepress/theme-blog": "^1.0.0-alpha.47",
+    "vuepress": "^1.0.0-alpha.47"
   }
 }
diff --git a/packages/docs/package.json b/packages/docs/package.json
index 21389459..aed8f4c1 100644
--- a/packages/docs/package.json
+++ b/packages/docs/package.json
@@ -1,6 +1,6 @@
 {
   "private": true,
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "name": "docs",
   "description": "docs of VuePress",
   "scripts": {
@@ -25,13 +25,13 @@
   },
   "homepage": "https://github.com/vuejs/vuepress#readme",
   "devDependencies": {
-    "@vuepress/plugin-back-to-top": "^1.0.0-alpha.46",
-    "@vuepress/plugin-google-analytics": "^1.0.0-alpha.46",
-    "@vuepress/plugin-medium-zoom": "^1.0.0-alpha.46",
-    "@vuepress/plugin-pwa": "^1.0.0-alpha.46",
-    "@vuepress/theme-vue": "^1.0.0-alpha.46",
+    "@vuepress/plugin-back-to-top": "^1.0.0-alpha.47",
+    "@vuepress/plugin-google-analytics": "^1.0.0-alpha.47",
+    "@vuepress/plugin-medium-zoom": "^1.0.0-alpha.47",
+    "@vuepress/plugin-pwa": "^1.0.0-alpha.47",
+    "@vuepress/theme-vue": "^1.0.0-alpha.47",
     "vue-toasted": "^1.1.25",
-    "vuepress": "^1.0.0-alpha.46",
+    "vuepress": "^1.0.0-alpha.47",
     "vuepress-plugin-flowchart": "^1.4.2"
   }
 }
diff --git a/packages/vuepress/package.json b/packages/vuepress/package.json
index f510b2fb..60c0bd11 100644
--- a/packages/vuepress/package.json
+++ b/packages/vuepress/package.json
@@ -1,6 +1,6 @@
 {
   "name": "vuepress",
-  "version": "1.0.0-alpha.46",
+  "version": "1.0.0-alpha.47",
   "description": "Minimalistic doc generator with Vue component based layout system",
   "main": "index.js",
   "repository": {
@@ -29,8 +29,8 @@
   },
   "homepage": "https://github.com/vuejs/vuepress#readme",
   "dependencies": {
-    "@vuepress/core": "^1.0.0-alpha.46",
-    "@vuepress/theme-default": "^1.0.0-alpha.46",
+    "@vuepress/core": "^1.0.0-alpha.47",
+    "@vuepress/theme-default": "^1.0.0-alpha.47",
     "cac": "^6.3.9"
   },
   "engines": {

From edc3733669c33c5a527430110aa0368d9d4f8a50 Mon Sep 17 00:00:00 2001
From: ULIVZ <472590061@qq.com>
Date: Sun, 7 Apr 2019 01:49:07 +0800
Subject: [PATCH 23/24] chore: 1.0.0-alpha.47 changelog

---
 CHANGELOG.md | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6c4193fc..891bf80a 100755
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,31 @@
+
+# [](https://github.com/vuejs/vuepress/compare/v1.0.0-alpha.47...v) (2019-04-06)
+
+
+
+
+# [1.0.0-alpha.47](https://github.com/vuejs/vuepress/compare/v1.0.0-alpha.46...v1.0.0-alpha.47) (2019-04-06)
+
+
+### Bug Fixes
+
+* **$core:** `index.styl` is not injected at the end of the style bundle (close: [#1523](https://github.com/vuejs/vuepress/issues/1523)) ([dabf506](https://github.com/vuejs/vuepress/commit/dabf506))
+* **$core:** `routerBase` will always get '/' (close: [#1503](https://github.com/vuejs/vuepress/issues/1503)) ([9fba549](https://github.com/vuejs/vuepress/commit/9fba549))
+* **$markdown:** Snippets should allow spaces in file path (closes [#1505](https://github.com/vuejs/vuepress/issues/1505)) ([#1517](https://github.com/vuejs/vuepress/issues/1517)) ([5c307c9](https://github.com/vuejs/vuepress/commit/5c307c9))
+
+
+### Features
+
+* **$core:** assert return type for functional plugin ([#1516](https://github.com/vuejs/vuepress/issues/1516)) ([74887c5](https://github.com/vuejs/vuepress/commit/74887c5))
+* **$core:** emit warning if the source directory doesn't exist (close: [#1521](https://github.com/vuejs/vuepress/issues/1521)) ([6da9a5f](https://github.com/vuejs/vuepress/commit/6da9a5f))
+* **$plugin-pwa:** allow using local workbox files (close: [#539](https://github.com/vuejs/vuepress/issues/539)) ([4640614](https://github.com/vuejs/vuepress/commit/4640614))
+
+
+
+
+# [1.0.0-alpha.46](https://github.com/vuejs/vuepress/compare/v1.0.0-alpha.45...v1.0.0-alpha.46) (2019-04-01)
+
+
 ### Bug Fixes
 
 * **$core:** regression of introducing dynamic `routerBase` (close: [#1498](https://github.com/vuejs/vuepress/issues/1498)) ([5e12b49](https://github.com/vuejs/vuepress/commit/5e12b49))

From 23b0ce3efc69df06d3d2ac70c987348b3c06078a Mon Sep 17 00:00:00 2001
From: ULIVZ <472590061@qq.com>
Date: Sun, 7 Apr 2019 01:50:23 +0800
Subject: [PATCH 24/24] chore: changelog

---
 CHANGELOG.md | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 891bf80a..6468b70a 100755
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,8 +1,3 @@
-
-# [](https://github.com/vuejs/vuepress/compare/v1.0.0-alpha.47...v) (2019-04-06)
-
-
-
 
 # [1.0.0-alpha.47](https://github.com/vuejs/vuepress/compare/v1.0.0-alpha.46...v1.0.0-alpha.47) (2019-04-06)