diff --git a/.gitignore b/.gitignore
index e31dfe570c..d6a758dc30 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@ node_modules
TODOs.md
packages/@vuepress/shared-utils/lib/
types
+**/.vuepress/dist
diff --git a/packages/@vuepress/core/lib/node/App.js b/packages/@vuepress/core/lib/node/App.js
index 99df7fc280..499a4ead2b 100755
--- a/packages/@vuepress/core/lib/node/App.js
+++ b/packages/@vuepress/core/lib/node/App.js
@@ -163,6 +163,7 @@ module.exports = class App {
after: ''
})
.use('@vuepress/last-updated', !!shouldUseLastUpdated)
+ .use('@vuepress/public-files', ['.vuepress/public'])
.use('@vuepress/register-components', {
componentsDir: [
path.resolve(this.sourceDir, '.vuepress/components'),
diff --git a/packages/@vuepress/core/lib/node/webpack/createServerConfig.js b/packages/@vuepress/core/lib/node/webpack/createServerConfig.js
index c8b3db6367..315fe91322 100644
--- a/packages/@vuepress/core/lib/node/webpack/createServerConfig.js
+++ b/packages/@vuepress/core/lib/node/webpack/createServerConfig.js
@@ -5,14 +5,11 @@
*/
module.exports = function createServerConfig (ctx) {
- const fs = require('fs')
- const { path, env } = require('@vuepress/shared-utils')
+ const { env } = require('@vuepress/shared-utils')
const createBaseConfig = require('./createBaseConfig')
const VueSSRServerPlugin = require('vue-server-renderer/server-plugin')
- const CopyPlugin = require('copy-webpack-plugin')
const config = createBaseConfig(ctx, true /* isServer */)
- const { sourceDir, outDir } = ctx
config
.target('node')
@@ -36,15 +33,6 @@ module.exports = function createServerConfig (ctx) {
filename: 'manifest/server.json'
}])
- const publicDir = path.resolve(sourceDir, '.vuepress/public')
- if (fs.existsSync(publicDir)) {
- config
- .plugin('copy')
- .use(CopyPlugin, [[
- { from: publicDir, to: outDir }
- ]])
- }
-
if (!env.isDebug) {
const WebpackBar = require('webpackbar')
config
diff --git a/packages/@vuepress/core/package.json b/packages/@vuepress/core/package.json
index e4d8798924..3b048e8e4c 100644
--- a/packages/@vuepress/core/package.json
+++ b/packages/@vuepress/core/package.json
@@ -41,7 +41,6 @@
"cache-loader": "^3.0.0",
"chokidar": "^2.0.3",
"connect-history-api-fallback": "^1.5.0",
- "copy-webpack-plugin": "^5.0.2",
"cross-spawn": "^6.0.5",
"css-loader": "^2.1.1",
"file-loader": "^3.0.1",
diff --git a/packages/@vuepress/plugin-public-files/README.md b/packages/@vuepress/plugin-public-files/README.md
new file mode 100644
index 0000000000..cf3e264ae8
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/README.md
@@ -0,0 +1,5 @@
+# @vuepress/plugin-public-files
+
+> plugin for register public files
+
+See [documentation](https://v1.vuepress.vuejs.org/plugin/official/plugin-public-files.html).
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-1/.dotfile b/packages/@vuepress/plugin-public-files/__tests__/docs-1/.dotfile
new file mode 100644
index 0000000000..a21a8f5987
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-1/.dotfile
@@ -0,0 +1 @@
+dotfile
\ No newline at end of file
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-1/.dotfolder/foo.txt b/packages/@vuepress/plugin-public-files/__tests__/docs-1/.dotfolder/foo.txt
new file mode 100644
index 0000000000..0478b08eaa
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-1/.dotfolder/foo.txt
@@ -0,0 +1 @@
+.dotfolder/foo.txt
\ No newline at end of file
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/config.js b/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/config.js
new file mode 100644
index 0000000000..ac9d5eb5d2
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/config.js
@@ -0,0 +1,5 @@
+module.exports = {
+ plugins: [
+ [require('../../..')]
+ ]
+}
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/public/.dotfile b/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/public/.dotfile
new file mode 100644
index 0000000000..a21a8f5987
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/public/.dotfile
@@ -0,0 +1 @@
+dotfile
\ No newline at end of file
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/public/.dotfolder/foo.txt b/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/public/.dotfolder/foo.txt
new file mode 100644
index 0000000000..0478b08eaa
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/public/.dotfolder/foo.txt
@@ -0,0 +1 @@
+.dotfolder/foo.txt
\ No newline at end of file
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/public/bar/foo.txt b/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/public/bar/foo.txt
new file mode 100644
index 0000000000..a07be60f2d
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/public/bar/foo.txt
@@ -0,0 +1 @@
+bar/foo.txt
\ No newline at end of file
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/public/foo.txt b/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/public/foo.txt
new file mode 100644
index 0000000000..996f1789ff
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/public/foo.txt
@@ -0,0 +1 @@
+foo.txt
\ No newline at end of file
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/theme/layouts/Layout.vue b/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/theme/layouts/Layout.vue
new file mode 100644
index 0000000000..9bca3a6a4a
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-1/.vuepress/theme/layouts/Layout.vue
@@ -0,0 +1,3 @@
+
+
+
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-1/bar/baz.txt b/packages/@vuepress/plugin-public-files/__tests__/docs-1/bar/baz.txt
new file mode 100644
index 0000000000..17eb55a45c
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-1/bar/baz.txt
@@ -0,0 +1 @@
+bar/baz.txt
\ No newline at end of file
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-1/bar/readme.md b/packages/@vuepress/plugin-public-files/__tests__/docs-1/bar/readme.md
new file mode 100644
index 0000000000..7743c88434
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-1/bar/readme.md
@@ -0,0 +1 @@
+bar/readme
\ No newline at end of file
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-1/baz.txt b/packages/@vuepress/plugin-public-files/__tests__/docs-1/baz.txt
new file mode 100644
index 0000000000..50186d7ad6
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-1/baz.txt
@@ -0,0 +1 @@
+baz.txt
\ No newline at end of file
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-1/readme.md b/packages/@vuepress/plugin-public-files/__tests__/docs-1/readme.md
new file mode 100644
index 0000000000..ea786ff2cf
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-1/readme.md
@@ -0,0 +1 @@
+readme
\ No newline at end of file
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-2/.vuepress/config.js b/packages/@vuepress/plugin-public-files/__tests__/docs-2/.vuepress/config.js
new file mode 100644
index 0000000000..93d1c47206
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-2/.vuepress/config.js
@@ -0,0 +1,9 @@
+module.exports = {
+ plugins: [
+ [require('../../..'), {
+ from: '_assets',
+ to: 'assets',
+ ignore: ['*.ignore'],
+ }]
+ ]
+}
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-2/.vuepress/public/foo.txt b/packages/@vuepress/plugin-public-files/__tests__/docs-2/.vuepress/public/foo.txt
new file mode 100644
index 0000000000..996f1789ff
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-2/.vuepress/public/foo.txt
@@ -0,0 +1 @@
+foo.txt
\ No newline at end of file
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-2/.vuepress/theme/layouts/Layout.vue b/packages/@vuepress/plugin-public-files/__tests__/docs-2/.vuepress/theme/layouts/Layout.vue
new file mode 100644
index 0000000000..9bca3a6a4a
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-2/.vuepress/theme/layouts/Layout.vue
@@ -0,0 +1,3 @@
+
+
+
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-2/_assets/.dotfile b/packages/@vuepress/plugin-public-files/__tests__/docs-2/_assets/.dotfile
new file mode 100644
index 0000000000..a21a8f5987
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-2/_assets/.dotfile
@@ -0,0 +1 @@
+dotfile
\ No newline at end of file
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-2/_assets/.dotfolder/foo.txt b/packages/@vuepress/plugin-public-files/__tests__/docs-2/_assets/.dotfolder/foo.txt
new file mode 100644
index 0000000000..0478b08eaa
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-2/_assets/.dotfolder/foo.txt
@@ -0,0 +1 @@
+.dotfolder/foo.txt
\ No newline at end of file
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-2/_assets/bar.png b/packages/@vuepress/plugin-public-files/__tests__/docs-2/_assets/bar.png
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-2/_assets/baz.ignore b/packages/@vuepress/plugin-public-files/__tests__/docs-2/_assets/baz.ignore
new file mode 100644
index 0000000000..3f95386662
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-2/_assets/baz.ignore
@@ -0,0 +1 @@
+baz
\ No newline at end of file
diff --git a/packages/@vuepress/plugin-public-files/__tests__/docs-2/readme.md b/packages/@vuepress/plugin-public-files/__tests__/docs-2/readme.md
new file mode 100644
index 0000000000..cb28655f2e
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/docs-2/readme.md
@@ -0,0 +1,3 @@
+readme
+
+
diff --git a/packages/@vuepress/plugin-public-files/__tests__/index.spec.js b/packages/@vuepress/plugin-public-files/__tests__/index.spec.js
new file mode 100644
index 0000000000..6e009ff927
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/__tests__/index.spec.js
@@ -0,0 +1,54 @@
+/**
+ * @jest-environment node
+ */
+
+const { createApp } = require('@vuepress/core')
+const { path: { resolve }, fs } = require('@vuepress/shared-utils')
+
+function testForExistence (app, name, existence = true) {
+ test(`${existence ? '' : 'in'}existence: ${name}`, () => {
+ expect(fs.existsSync(resolve(app.outDir, name))).toBe(existence)
+ })
+}
+
+describe('plugin-public-files: source folder', () => {
+ const app = createApp({
+ sourceDir: resolve(__dirname, 'docs-1')
+ })
+
+ beforeAll(async () => {
+ await app.process()
+ await app.build()
+ }, 60000)
+
+ testForExistence(app, 'foo.txt')
+ testForExistence(app, 'baz.txt')
+ testForExistence(app, 'bar/foo.txt')
+ testForExistence(app, 'bar/baz.txt')
+ testForExistence(app, 'index.html')
+ testForExistence(app, 'readme.md', false)
+ testForExistence(app, '.dotfile', false)
+ testForExistence(app, '.dotfolder', false)
+ testForExistence(app, 'bar/readme.md', false)
+})
+
+describe('plugin-public-files: assets folder', () => {
+ const app = createApp({
+ sourceDir: resolve(__dirname, 'docs-2')
+ })
+
+ beforeAll(async () => {
+ await app.process()
+ await app.build()
+ }, 60000)
+
+ testForExistence(app, 'foo.txt')
+ testForExistence(app, 'assets/bar.png')
+ testForExistence(app, 'assets/.dotfile')
+ testForExistence(app, 'assets/.dotfolder/foo.txt')
+ testForExistence(app, 'bar.png', false)
+ testForExistence(app, 'baz.ignore', false)
+ testForExistence(app, '.dotfile', false)
+ testForExistence(app, '.dotfolder', false)
+ testForExistence(app, 'assets/baz.ignore', false)
+})
diff --git a/packages/@vuepress/plugin-public-files/index.js b/packages/@vuepress/plugin-public-files/index.js
new file mode 100644
index 0000000000..4402365651
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/index.js
@@ -0,0 +1,34 @@
+const {
+ fs: { existsSync },
+ path: { resolve }
+} = require('@vuepress/shared-utils')
+const CopyPlugin = require('copy-webpack-plugin')
+const mergeable = require('vuepress-mergeable')
+
+module.exports = mergeable((patterns, context) => ({
+ name: `@vuepress/plugin-public-files`,
+
+ chainWebpack (config) {
+ if (!Array.isArray(patterns)) patterns = [patterns]
+
+ config
+ .plugin('copy')
+ .use(CopyPlugin, [patterns.map((pattern) => {
+ pattern = typeof pattern === 'string'
+ ? { from: pattern }
+ : { ...pattern }
+
+ // `from` will be resolved based on `sourceDir`
+ pattern.from = resolve(context.sourceDir, pattern.from || '')
+ if (!existsSync(pattern.from)) return
+
+ // `to` will be resolved based on `outDir`
+ pattern.to = resolve(context.outDir, pattern.to || '')
+
+ // ignore dotfiles and markdown by default
+ pattern.ignore = pattern.ignore || ['.*', '.*/**', '*.md']
+
+ return pattern
+ }).filter(p => p)])
+ }
+}), 'flat')
diff --git a/packages/@vuepress/plugin-public-files/package.json b/packages/@vuepress/plugin-public-files/package.json
new file mode 100644
index 0000000000..dda4859972
--- /dev/null
+++ b/packages/@vuepress/plugin-public-files/package.json
@@ -0,0 +1,36 @@
+{
+ "name": "@vuepress/plugin-public-files",
+ "version": "1.0.4",
+ "description": "register-public-files plugin for vuepress",
+ "main": "index.js",
+ "publishConfig": {
+ "access": "public"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/vuejs/vuepress.git",
+ "directory": "packages/@vuepress/plugin-public-files"
+ },
+ "scripts": {
+ "build": "vuepress build __tests__/docs-1",
+ "jest": "jest .*\\.spec\\.js$"
+ },
+ "keywords": [
+ "documentation",
+ "vue",
+ "vuepress",
+ "generator"
+ ],
+ "author": "Shigma <1700011071@pku.edu.com>",
+ "license": "MIT",
+ "bugs": {
+ "url": "https://github.com/vuejs/vuepress/issues"
+ },
+ "homepage": "https://github.com/vuejs/vuepress/packages/@vuepress/plugin-public-files#readme",
+ "dependencies": {
+ "@vuepress/core": "^1.0.4",
+ "@vuepress/shared-utils": "^1.0.4",
+ "copy-webpack-plugin": "^5.0.3",
+ "vuepress-mergeable": "^1.0.1"
+ }
+}
diff --git a/packages/docs/docs/plugin/official/plugin-public-files.md b/packages/docs/docs/plugin/official/plugin-public-files.md
new file mode 100644
index 0000000000..e6135e5d92
--- /dev/null
+++ b/packages/docs/docs/plugin/official/plugin-public-files.md
@@ -0,0 +1,94 @@
+---
+title: public-files
+metaTitle: public files plugin | VuePress
+---
+
+# [@vuepress/plugin-public-files](https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-public-files)
+
+> public files plugin
+
+## Installation
+
+```bash
+yarn add -D @vuepress/plugin-public-files
+# OR npm install -D @vuepress/plugin-public-files
+```
+
+## Usage
+
+### Default Usage
+
+```js
+module.exports = {
+ plugins: [
+ // includes all files in `sourceDir`
+ // ignore dotfiles and markdown
+ "@vuepress/public-files"
+ ]
+};
+```
+
+### An Array of Patterns
+
+```js
+module.exports = {
+ plugins: [
+ [
+ "@vuepress/public-files",
+ [
+ ".vuepress/another-public",
+ ".vuepress/one-more-public",
+ ".vuepress/public-file.txt"
+ ]
+ ]
+ ]
+};
+```
+
+### object style of pattern
+
+See: [https://github.com/webpack-contrib/copy-webpack-plugin#patterns](https://github.com/webpack-contrib/copy-webpack-plugin#patterns)
+
+```js
+module.exports = {
+ plugins: [
+ [
+ "@vuepress/public-files",
+ {
+ from: "_assets", // resolved based on sourceDir
+ to: "assets", // resolved based on outDir
+ ignore: [
+ /* glob patterns to be ignored */
+ ]
+ }
+ ]
+ ]
+};
+```
+
+::: tip
+In fact we support specifying a list of strings or objects.
+:::
+
+### Use Multiple Times
+
+```js
+module.exports = {
+ plugins: [
+ [
+ "@vuepress/public-files",
+ [".vuepress/another-public", ".vuepress/one-more-public"]
+ ],
+ [
+ "@vuepress/public-files",
+ {
+ from: "_assets",
+ to: "assets",
+ ignore: [
+ /* globs */
+ ]
+ }
+ ]
+ ]
+};
+```
diff --git a/packages/docs/docs/zh/plugin/official/plugin-public-files.md b/packages/docs/docs/zh/plugin/official/plugin-public-files.md
new file mode 100644
index 0000000000..b386993816
--- /dev/null
+++ b/packages/docs/docs/zh/plugin/official/plugin-public-files.md
@@ -0,0 +1,94 @@
+---
+title: public-files
+metaTitle: public files 插件 | VuePress
+---
+
+# [@vuepress/plugin-public-files](https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/plugin-public-files)
+
+> public files 插件
+
+## 安装
+
+```bash
+yarn add -D @vuepress/plugin-public-files
+# OR npm install -D @vuepress/plugin-public-files
+```
+
+## 使用
+
+### 默认形式
+
+```js
+module.exports = {
+ plugins: [
+ // 会将所有 sourceDir 下的文件拷贝
+ // 除了 .md 文件和 dotfiles
+ "@vuepress/public-files"
+ ]
+};
+```
+
+### 文件或目录列表
+
+```js
+module.exports = {
+ plugins: [
+ [
+ "@vuepress/public-files",
+ [
+ ".vuepress/another-public",
+ ".vuepress/one-more-public",
+ ".vuepress/public-file.txt"
+ ]
+ ]
+ ]
+};
+```
+
+### 对象形式的配置
+
+参见:[https://github.com/webpack-contrib/copy-webpack-plugin#patterns](https://github.com/webpack-contrib/copy-webpack-plugin#patterns)
+
+```js
+module.exports = {
+ plugins: [
+ [
+ "@vuepress/public-files",
+ {
+ from: "_assets", // 根据 sourceDir 解析
+ to: "assets", // 根据 outDir 解析
+ ignore: [
+ /* 要忽略文件的 glob 模式 */
+ ]
+ }
+ ]
+ ]
+};
+```
+
+::: tip
+事实上我们支持设置一个字符串或对象组成的列表。
+:::
+
+### 多次使用
+
+```js
+module.exports = {
+ plugins: [
+ [
+ "@vuepress/public-files",
+ [".vuepress/another-public", ".vuepress/one-more-public"]
+ ],
+ [
+ "@vuepress/public-files",
+ {
+ from: "_assets",
+ to: "assets",
+ ignore: [
+ /* globs */
+ ]
+ }
+ ]
+ ]
+};
+```
diff --git a/yarn.lock b/yarn.lock
index e9b7a9c7da..05a3f80bdb 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2293,7 +2293,7 @@ array-flatten@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
-array-flatten@^2.1.0:
+array-flatten@^2.1.0, array-flatten@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099"
@@ -2824,7 +2824,7 @@ cac@^6.3.9:
version "6.4.2"
resolved "https://registry.yarnpkg.com/cac/-/cac-6.4.2.tgz#6b2a2ab12619b778b3acc19f97e5298761d9c3de"
-cacache@^11.0.1, cacache@^11.0.2, cacache@^11.3.1, cacache@^11.3.2:
+cacache@^11.0.1, cacache@^11.0.2, cacache@^11.3.2:
version "11.3.2"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.2.tgz#2d81e308e3d258ca38125b676b98b2ac9ce69bfa"
dependencies:
@@ -3639,20 +3639,22 @@ copy-descriptor@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
-copy-webpack-plugin@^5.0.2:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.0.2.tgz#56186dfddbf9aa1b29c97fa4c796c1be98870da4"
+copy-webpack-plugin@^5.0.3:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.0.3.tgz#2179e3c8fd69f13afe74da338896f1f01a875b5c"
+ integrity sha512-PlZRs9CUMnAVylZq+vg2Juew662jWtwOXOqH4lbQD9ZFhRG9R7tVStOgHt21CBGVq7k5yIJaz8TXDLSjV+Lj8Q==
dependencies:
- cacache "^11.3.1"
- find-cache-dir "^2.0.0"
+ cacache "^11.3.2"
+ find-cache-dir "^2.1.0"
glob-parent "^3.1.0"
globby "^7.1.1"
- is-glob "^4.0.0"
- loader-utils "^1.1.0"
+ is-glob "^4.0.1"
+ loader-utils "^1.2.3"
minimatch "^3.0.4"
normalize-path "^3.0.0"
- p-limit "^2.1.0"
- serialize-javascript "^1.4.0"
+ p-limit "^2.2.0"
+ schema-utils "^1.0.0"
+ serialize-javascript "^1.7.0"
webpack-log "^2.0.0"
core-js@^2.4.0, core-js@^2.5.7, core-js@^2.6.5:
@@ -4033,6 +4035,13 @@ decode-uri-component@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
+deconstruct-merge@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/deconstruct-merge/-/deconstruct-merge-1.1.0.tgz#ed9986ce729d9e67bdbc5780a771a021947ab3d3"
+ integrity sha512-o0RFi4YhLf+FJKQ2ly7iDePl9WtdY+RJIPd0wEDlMlK0wTxfywS9DxYQeei8N4qqHKoy8Idp4UXPtXFIVn0PrA==
+ dependencies:
+ array-flatten "^2.1.2"
+
dedent@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
@@ -8412,7 +8421,7 @@ p-limit@^1.1.0:
dependencies:
p-try "^1.0.0"
-p-limit@^2.0.0, p-limit@^2.1.0, p-limit@^2.2.0:
+p-limit@^2.0.0, p-limit@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2"
dependencies:
@@ -11982,6 +11991,13 @@ vuepress-html-webpack-plugin@^3.2.0:
toposort "^1.0.0"
util.promisify "1.0.0"
+vuepress-mergeable@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/vuepress-mergeable/-/vuepress-mergeable-1.0.1.tgz#0ed8c1953b88bc1943e7a84a2696860245f0b5b4"
+ integrity sha512-2rXnrs39o3W+AJi/9GTOcKvmSPcf6zny2Ru2xmB6f7W3hSPpXLI1AMSgOjRsbEGrimvxn/aviuCsQcj7U/wfmA==
+ dependencies:
+ deconstruct-merge "^1.1.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"