diff --git a/distributions/nuxt-start/package.json b/distributions/nuxt-start/package.json
index d3aad57625..7dc0c73fbf 100644
--- a/distributions/nuxt-start/package.json
+++ b/distributions/nuxt-start/package.json
@@ -63,7 +63,7 @@
"vue-client-only": "^2.0.0",
"vue-meta": "^2.4.0",
"vue-no-ssr": "^1.1.1",
- "vue-router": "3.4.9",
+ "vue-router": "3.4.8",
"vuex": "^3.5.1"
},
"engines": {
diff --git a/distributions/nuxt/package.json b/distributions/nuxt/package.json
index 5f042e2aee..b3ad994ef9 100644
--- a/distributions/nuxt/package.json
+++ b/distributions/nuxt/package.json
@@ -60,10 +60,10 @@
"dependencies": {
"@nuxt/builder": "2.14.7",
"@nuxt/cli": "2.14.7",
- "@nuxt/components": "^1.2.0",
+ "@nuxt/components": "^1.1.1",
"@nuxt/core": "2.14.7",
"@nuxt/generator": "2.14.7",
- "@nuxt/loading-screen": "^2.0.3",
+ "@nuxt/loading-screen": "^2.0.2",
"@nuxt/opencollective": "^0.3.2",
"@nuxt/static": "^1.0.0",
"@nuxt/telemetry": "^1.2.3",
diff --git a/package.json b/package.json
index b19e5dacbe..36a20f804a 100644
--- a/package.json
+++ b/package.json
@@ -33,8 +33,8 @@
"test:unit": "jest packages --forceExit"
},
"devDependencies": {
- "@babel/core": "^7.12.9",
- "@babel/preset-env": "^7.12.7",
+ "@babel/core": "^7.12.3",
+ "@babel/preset-env": "^7.12.1",
"@ls-lint/ls-lint": "^1.9.2",
"@nuxtjs/eslint-config": "^5.0.0",
"@rollup/plugin-alias": "^3.1.1",
@@ -47,9 +47,9 @@
"babel-eslint": "^10.1.0",
"babel-jest": "^26.6.3",
"consola": "^2.15.0",
- "create-require": "^1.1.0",
+ "create-require": "^1.0.2",
"cross-spawn": "^7.0.3",
- "eslint": "^7.14.0",
+ "eslint": "^7.13.0",
"eslint-multiplexer": "^2.0.0",
"esm": "^3.2.25",
"execa": "^3.4.0",
@@ -62,21 +62,21 @@
"improved-yarn-audit": "^2.3.1",
"is-wsl": "^2.2.0",
"jest": "^26.6.3",
- "jiti": "^0.1.16",
+ "jiti": "^0.1.12",
"jsdom": "^16.4.0",
"klaw-sync": "^6.0.0",
"lerna": "^3.22.1",
"lodash": "^4.17.20",
"node-fetch": "^2.6.1",
"node-sass": "^4.14.1",
- "puppeteer-core": "^5.5.0",
+ "puppeteer-core": "^5.4.1",
"request": "^2.88.2",
"rimraf": "^3.0.2",
- "rollup": "2.33.3",
+ "rollup": "2.33.1",
"rollup-plugin-license": "^2.2.0",
"sass-loader": "^8.0.2",
- "sort-package-json": "^1.48.0",
- "typescript": "~4.1",
+ "sort-package-json": "^1.46.1",
+ "typescript": "~4.0",
"vue-jest": "^4.0.0-rc.0"
}
}
diff --git a/packages/babel-preset-app/package.json b/packages/babel-preset-app/package.json
index cdf12ef7e8..052014df9f 100644
--- a/packages/babel-preset-app/package.json
+++ b/packages/babel-preset-app/package.json
@@ -10,14 +10,14 @@
],
"main": "src/index.js",
"dependencies": {
- "@babel/core": "^7.12.9",
+ "@babel/core": "^7.12.3",
"@babel/helper-compilation-targets": "^7.12.5",
"@babel/plugin-proposal-class-properties": "^7.12.1",
"@babel/plugin-proposal-decorators": "^7.12.1",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
- "@babel/plugin-proposal-optional-chaining": "^7.12.7",
+ "@babel/plugin-proposal-optional-chaining": "^7.12.1",
"@babel/plugin-transform-runtime": "^7.12.1",
- "@babel/preset-env": "^7.12.7",
+ "@babel/preset-env": "^7.12.1",
"@babel/runtime": "^7.12.5",
"@vue/babel-preset-jsx": "^1.2.4",
"core-js": "^2.6.5"
diff --git a/packages/config/package.json b/packages/config/package.json
index e74074f9c6..64e8725662 100644
--- a/packages/config/package.json
+++ b/packages/config/package.json
@@ -12,13 +12,13 @@
"dependencies": {
"@nuxt/utils": "2.14.7",
"consola": "^2.15.0",
- "create-require": "^1.1.0",
+ "create-require": "^1.0.2",
"defu": "^2.0.4",
"destr": "^1.0.1",
"dotenv": "^8.2.0",
"esm": "^3.2.25",
- "jiti": "^0.1.16",
- "rc9": "^1.2.0",
+ "jiti": "^0.1.12",
+ "rc9": "^1.1.0",
"std-env": "^2.2.1"
},
"publishConfig": {
diff --git a/packages/config/src/config/generate.js b/packages/config/src/config/generate.js
index 8177238e3d..4aa33eb1cf 100644
--- a/packages/config/src/config/generate.js
+++ b/packages/config/src/config/generate.js
@@ -7,6 +7,7 @@ export default () => ({
subFolders: true,
fallback: '200.html',
crawler: true,
+ manifest: true,
cache: {
ignore: [],
globbyOptions: {
diff --git a/packages/config/test/__snapshots__/options.test.js.snap b/packages/config/test/__snapshots__/options.test.js.snap
index d3861ba253..d4c9458fe4 100644
--- a/packages/config/test/__snapshots__/options.test.js.snap
+++ b/packages/config/test/__snapshots__/options.test.js.snap
@@ -205,6 +205,7 @@ Object {
"exclude": Array [],
"fallback": "200.html",
"interval": 0,
+ "manifest": true,
"routes": Array [],
"staticAssets": Object {
"base": "/_nuxt/static",
diff --git a/packages/config/test/config/__snapshots__/index.test.js.snap b/packages/config/test/config/__snapshots__/index.test.js.snap
index 75adf15323..b02787f58f 100644
--- a/packages/config/test/config/__snapshots__/index.test.js.snap
+++ b/packages/config/test/config/__snapshots__/index.test.js.snap
@@ -184,6 +184,7 @@ Object {
"exclude": Array [],
"fallback": "200.html",
"interval": 0,
+ "manifest": true,
"routes": Array [],
"staticAssets": Object {
"base": undefined,
@@ -560,6 +561,7 @@ Object {
"exclude": Array [],
"fallback": "200.html",
"interval": 0,
+ "manifest": true,
"routes": Array [],
"staticAssets": Object {
"base": undefined,
diff --git a/packages/core/package.json b/packages/core/package.json
index f6527301bc..0cc61615e0 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -14,7 +14,7 @@
"@nuxt/utils": "2.14.7",
"@nuxt/vue-renderer": "2.14.7",
"consola": "^2.15.0",
- "debug": "^4.3.1",
+ "debug": "^4.2.0",
"esm": "^3.2.25",
"fs-extra": "^8.1.0",
"hable": "^3.0.0",
diff --git a/packages/generator/package.json b/packages/generator/package.json
index 9f0b14cf69..a3c8a0725c 100644
--- a/packages/generator/package.json
+++ b/packages/generator/package.json
@@ -11,6 +11,7 @@
"@nuxt/utils": "2.14.7",
"chalk": "^3.0.0",
"consola": "^2.15.0",
+ "devalue": "^2.0.1",
"fs-extra": "^8.1.0",
"html-minifier": "^4.0.0",
"node-html-parser": "^2.0.0"
diff --git a/packages/generator/src/generator.js b/packages/generator/src/generator.js
index 2738330f61..7e247928a9 100644
--- a/packages/generator/src/generator.js
+++ b/packages/generator/src/generator.js
@@ -1,6 +1,7 @@
import path from 'path'
import chalk from 'chalk'
import consola from 'consola'
+import devalue from 'devalue'
import fsExtra from 'fs-extra'
import defu from 'defu'
import htmlMinifier from 'html-minifier'
@@ -30,9 +31,14 @@ export default class Generator {
if (this.isFullStatic) {
const { build: { publicPath: _publicPath }, router: { base } } = this.options
const publicPath = isUrl(_publicPath) ? _publicPath : base
- const { staticAssets } = this.options.generate
+ const { staticAssets, manifest } = this.options.generate
this.staticAssetsDir = path.resolve(this.distNuxtPath, staticAssets.dir, staticAssets.version)
this.staticAssetsBase = urlJoin(publicPath, this.options.generate.staticAssets.versionBase)
+ if (manifest) {
+ this.manifest = defu(manifest, {
+ routes: []
+ })
+ }
}
// Shared payload
@@ -54,6 +60,14 @@ export default class Generator {
await this.afterGenerate()
+ // Save routes manifest for full static
+ if (this.manifest) {
+ await this.nuxt.callHook('generate:manifest', this.manifest, this)
+ const manifestPath = path.join(this.staticAssetsDir, 'manifest.js')
+ await fsExtra.writeFile(manifestPath, `__NUXT_JSONP__("manifest.js", ${devalue(this.manifest)})`, 'utf-8')
+ consola.success('Static manifest generated')
+ }
+
// Done hook
await this.nuxt.callHook('generate:done', this, errors)
await this.nuxt.callHook('export:done', this, { errors })
@@ -254,7 +268,7 @@ export default class Generator {
// Add .nojekyll file to let GitHub Pages add the _nuxt/ folder
// https://help.github.com/articles/files-that-start-with-an-underscore-are-missing/
const nojekyllPath = path.resolve(this.distPath, '.nojekyll')
- fsExtra.writeFile(nojekyllPath, '')
+ await fsExtra.writeFile(nojekyllPath, '')
await this.nuxt.callHook('generate:distCopied', this)
await this.nuxt.callHook('export:distCopied', this)
@@ -313,11 +327,11 @@ export default class Generator {
.replace(/\/+$/, '')
.trim()
- const route = decodeURI(sanitizedHref + possibleTrailingSlash)
+ const foundRoute = decodeURI(sanitizedHref + possibleTrailingSlash)
- if (route.startsWith('/') && !route.startsWith('//') && !path.extname(route) && this.shouldGenerateRoute(route) && !this.generatedRoutes.has(route)) {
- this.generatedRoutes.add(route)
- this.routes.push({ route })
+ if (foundRoute.startsWith('/') && !foundRoute.startsWith('//') && !path.extname(foundRoute) && this.shouldGenerateRoute(foundRoute) && !this.generatedRoutes.has(foundRoute)) {
+ this.generatedRoutes.add(foundRoute)
+ this.routes.push({ route: foundRoute })
}
return null
})
@@ -330,8 +344,13 @@ export default class Generator {
await fsExtra.ensureDir(path.dirname(assetPath))
await fsExtra.writeFile(assetPath, asset.src, 'utf-8')
}
+ // Add route to manifest (only if no error and redirect)
+ if (this.manifest && (!res.error && !res.redirected)) {
+ this.manifest.routes.push(route)
+ }
}
+ // SPA fallback
if (res.error) {
pageErrors.push({ type: 'handled', route, error: res.error })
}
diff --git a/packages/types/package.json b/packages/types/package.json
index 3cddd9b708..932f2900e3 100644
--- a/packages/types/package.json
+++ b/packages/types/package.json
@@ -17,13 +17,13 @@
"@types/file-loader": "^4.2.0",
"@types/html-minifier": "^4.0.0",
"@types/less": "^3.0.1",
- "@types/node": "^12.19.7",
+ "@types/node": "^12.19.3",
"@types/node-sass": "^4.11.1",
"@types/optimize-css-assets-webpack-plugin": "^5.0.1",
"@types/pug": "^2.0.4",
- "@types/serve-static": "^1.13.8",
+ "@types/serve-static": "^1.13.6",
"@types/terser-webpack-plugin": "^2.2.0",
- "@types/webpack": "^4.41.25",
+ "@types/webpack": "^4.41.24",
"@types/webpack-bundle-analyzer": "^3.9.0",
"@types/webpack-dev-middleware": "^3.7.2",
"@types/webpack-hot-middleware": "^2.25.3"
diff --git a/packages/vue-app/package.json b/packages/vue-app/package.json
index 0203391849..8c0efc98e1 100644
--- a/packages/vue-app/package.json
+++ b/packages/vue-app/package.json
@@ -19,7 +19,7 @@
"vue-client-only": "^2.0.0",
"vue-meta": "^2.4.0",
"vue-no-ssr": "^1.1.1",
- "vue-router": "3.4.9",
+ "vue-router": "3.4.8",
"vue-template-compiler": "^2.6.12",
"vuex": "^3.5.1"
},
diff --git a/packages/vue-app/template/App.js b/packages/vue-app/template/App.js
index abbb6b3cc7..c8f7c95b02 100644
--- a/packages/vue-app/template/App.js
+++ b/packages/vue-app/template/App.js
@@ -295,18 +295,40 @@ export default {
<% } /* splitChunks.layouts */ %>
<% } /* features.layouts */ %>
<% if (isFullStatic) { %>
+ getRouterBase() {
+ return (this.$router.options.base || '').replace(/\/+$/, '')
+ },
+ getRoutePath(route = '/') {
+ const base = this.getRouterBase()
+ if (base && route.startsWith(base)) {
+ route = route.substr(base.length)
+ }
+ return (route.replace(/\/+$/, '') || '/').split('?')[0].split('#')[0]
+ },
+ getStaticAssetsPath(route = '/') {
+ const { staticAssetsBase } = window.<%= globals.context %>
+
+ return urlJoin(staticAssetsBase, this.getRoutePath(route))
+ },
+ <% if (nuxtOptions.generate.manifest) { %>
+ async fetchStaticManifest() {
+ return window.__NUXT_IMPORT__('manifest.js', encodeURI(urlJoin(this.getStaticAssetsPath(), 'manifest.js')))
+ },
+ <% } %>
setPagePayload(payload) {
this._pagePayload = payload
this._payloadFetchIndex = 0
},
async fetchPayload(route) {
- const { staticAssetsBase } = window.<%= globals.context %>
- const base = (this.$router.options.base || '').replace(/\/+$/, '')
- if (base && route.startsWith(base)) {
- route = route.substr(base.length)
+ <% if (nuxtOptions.generate.manifest) { %>
+ const manifest = await this.fetchStaticManifest()
+ const path = this.getRoutePath(route)
+ if (!manifest.routes.includes(path)) {
+ this.setPagePayload(false)
+ throw new Error(`Route ${path} is not pre-rendered`)
}
- route = (route.replace(/\/+$/, '') || '/').split('?')[0].split('#')[0]
- const src = urlJoin(staticAssetsBase, route, 'payload.js')
+ <% } %>
+ const src = urlJoin(this.getStaticAssetsPath(route), 'payload.js')
try {
const payload = await window.__NUXT_IMPORT__(decodeURI(route), encodeURI(src))
this.setPagePayload(payload)
diff --git a/packages/vue-renderer/src/renderers/spa.js b/packages/vue-renderer/src/renderers/spa.js
index 4101dd5dff..5b689642b9 100644
--- a/packages/vue-renderer/src/renderers/spa.js
+++ b/packages/vue-renderer/src/renderers/spa.js
@@ -154,10 +154,13 @@ export default class SPARenderer extends BaseRenderer {
// Serialize state (runtime config)
let APP = `${meta.BODY_SCRIPTS_PREPEND}
${this.serverContext.resources.loadingHTML}
${meta.BODY_SCRIPTS}`
- APP += ``
+ const payload = {
+ config: renderContext.runtimeConfig.public
+ }
+ if (renderContext.staticAssetsBase) {
+ payload.staticAssetsBase = renderContext.staticAssetsBase
+ }
+ APP += ``
// Prepare template params
const templateParams = {
diff --git a/packages/vue-renderer/src/renderers/ssr.js b/packages/vue-renderer/src/renderers/ssr.js
index ac7e83f37c..a8b29cd6d6 100644
--- a/packages/vue-renderer/src/renderers/ssr.js
+++ b/packages/vue-renderer/src/renderers/ssr.js
@@ -196,13 +196,21 @@ export default class SSRRenderer extends BaseRenderer {
APP += ``
}
- // Page level payload.js (async loaded for CSR)
- const payloadPath = urlJoin(url, 'payload.js')
- const payloadUrl = urlJoin(staticAssetsBase, payloadPath)
- const routePath = (url.replace(/\/+$/, '') || '/').split('?')[0] // remove trailing slah and query params
- const payloadScript = `__NUXT_JSONP__("${routePath}", ${devalue({ data, fetch, mutations })});`
- staticAssets.push({ path: payloadPath, src: payloadScript })
- preloadScripts.push(payloadUrl)
+ // Save payload only if no error or redirection were made
+ if (!renderContext.nuxt.error && !renderContext.redirected) {
+ // Page level payload.js (async loaded for CSR)
+ const payloadPath = urlJoin(url, 'payload.js')
+ const payloadUrl = urlJoin(staticAssetsBase, payloadPath)
+ const routePath = (url.replace(/\/+$/, '') || '/').split('?')[0] // remove trailing slah and query params
+ const payloadScript = `__NUXT_JSONP__("${routePath}", ${devalue({ data, fetch, mutations })});`
+ staticAssets.push({ path: payloadPath, src: payloadScript })
+ preloadScripts.push(payloadUrl)
+ // Add manifest preload
+ if (this.options.generate.manifest) {
+ const manifestUrl = urlJoin(staticAssetsBase, 'manifest.js')
+ preloadScripts.push(manifestUrl)
+ }
+ }
// Preload links
for (const href of preloadScripts) {
diff --git a/packages/webpack/package.json b/packages/webpack/package.json
index bd32102ff3..e2188dae4e 100644
--- a/packages/webpack/package.json
+++ b/packages/webpack/package.json
@@ -8,16 +8,16 @@
"dist"
],
"dependencies": {
- "@babel/core": "^7.12.9",
+ "@babel/core": "^7.12.3",
"@nuxt/babel-preset-app": "2.14.7",
"@nuxt/friendly-errors-webpack-plugin": "^2.5.0",
"@nuxt/utils": "2.14.7",
- "babel-loader": "^8.2.1",
+ "babel-loader": "^8.1.0",
"cache-loader": "^4.1.0",
- "caniuse-lite": "^1.0.30001161",
+ "caniuse-lite": "^1.0.30001157",
"chalk": "^3.0.0",
"consola": "^2.15.0",
- "create-require": "^1.1.0",
+ "create-require": "^1.0.2",
"css-loader": "^3.6.0",
"cssnano": "^4.1.10",
"eventsource-polyfill": "^0.9.6",
@@ -38,7 +38,7 @@
"postcss-url": "^8.0.0",
"semver": "^7.3.2",
"std-env": "^2.2.1",
- "style-resources-loader": "^1.4.1",
+ "style-resources-loader": "^1.3.3",
"terser-webpack-plugin": "^2.3.5",
"thread-loader": "^2.1.3",
"time-fix-plugin": "^2.0.7",
diff --git a/renovate.json b/renovate.json
index 43cc295267..fa3841786b 100644
--- a/renovate.json
+++ b/renovate.json
@@ -25,8 +25,7 @@
"wrap-ansi",
"terser-webpack-plugin",
"@types/terser-webpack-plugin",
- "defu",
- "vue-loader"
+ "defu"
],
"lockFileMaintenance": {
"enabled": true
diff --git a/yarn.lock b/yarn.lock
index 0220188a2d..eccdc6bf80 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -14,29 +14,7 @@
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz#9329b4782a7d6bbd7eef57e11addf91ee3ef1e41"
integrity sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==
-"@babel/core@^7.1.0", "@babel/core@^7.7.5":
- version "7.12.7"
- resolved "https://registry.npmjs.org/@babel/core/-/core-7.12.7.tgz#bf55363c08c8352a37691f7216ec30090bf7e3bf"
- integrity sha512-tRKx9B53kJe8NCGGIxEQb2Bkr0riUIEuN7Sc1fxhs5H8lKlCWUvQCSNMVIB0Meva7hcbCRJ76de15KoLltdoqw==
- dependencies:
- "@babel/code-frame" "^7.10.4"
- "@babel/generator" "^7.12.5"
- "@babel/helper-module-transforms" "^7.12.1"
- "@babel/helpers" "^7.12.5"
- "@babel/parser" "^7.12.7"
- "@babel/template" "^7.12.7"
- "@babel/traverse" "^7.12.7"
- "@babel/types" "^7.12.7"
- convert-source-map "^1.7.0"
- debug "^4.1.0"
- gensync "^1.0.0-beta.1"
- json5 "^2.1.2"
- lodash "^4.17.19"
- resolve "^1.3.2"
- semver "^5.4.1"
- source-map "^0.5.0"
-
-"@babel/core@^7.12.9":
+"@babel/core@^7.1.0", "@babel/core@^7.12.9", "@babel/core@^7.7.5":
version "7.12.9"
resolved "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8"
integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==
@@ -860,22 +838,7 @@
"@babel/parser" "^7.12.7"
"@babel/types" "^7.12.7"
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5", "@babel/traverse@^7.12.7", "@babel/traverse@^7.7.0":
- version "7.12.7"
- resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.7.tgz#572a722408681cef17d6b0bef69ef2e728ca69f1"
- integrity sha512-nMWaqsQEeSvMNypswUDzjqQ+0rR6pqCtoQpsqGJC4/Khm9cISwPTSpai57F6/jDaOoEGz8yE/WxcO3PV6tKSmQ==
- dependencies:
- "@babel/code-frame" "^7.10.4"
- "@babel/generator" "^7.12.5"
- "@babel/helper-function-name" "^7.10.4"
- "@babel/helper-split-export-declaration" "^7.11.0"
- "@babel/parser" "^7.12.7"
- "@babel/types" "^7.12.7"
- debug "^4.1.0"
- globals "^11.1.0"
- lodash "^4.17.19"
-
-"@babel/traverse@^7.12.9":
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5", "@babel/traverse@^7.12.9", "@babel/traverse@^7.7.0":
version "7.12.9"
resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.9.tgz#fad26c972eabbc11350e0b695978de6cc8e8596f"
integrity sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw==
@@ -1979,27 +1942,27 @@
globby "^11.0.1"
"@nuxt/telemetry@^1.2.3":
- version "1.2.5"
- resolved "https://registry.npmjs.org/@nuxt/telemetry/-/telemetry-1.2.5.tgz#ee9169ac20f50dea69477e2dc20736ba0076a5ab"
- integrity sha512-t8TYH363RKEguUPaIKNao+434dKhbixEDt1qFCuyyGgxhJjromCZ9BZm4HMlQJt+F7QS/Y9PzTyTDcomUSstxg==
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/@nuxt/telemetry/-/telemetry-1.3.0.tgz#0c6595c786c4fcb060ea8508aaf6285dce8201e0"
+ integrity sha512-anAhyccoVyy/RetkqVsIxpJKdAu/GHyLl79ZtH0oOCbYcC85k8d+LC1S10WcqXyeqyUKifLxGR6yPqSPmQCCtg==
dependencies:
- arg "^4.1.3"
+ arg "^5.0.0"
chalk "^4.1.0"
ci-info "^2.0.0"
- consola "^2.14.0"
- create-require "^1.0.2"
- defu "^2.0.4"
- destr "^1.0.0"
+ consola "^2.15.0"
+ create-require "^1.1.0"
+ defu "^3.2.2"
+ destr "^1.0.1"
dotenv "^8.2.0"
fs-extra "^8.1.0"
- git-url-parse "^11.1.2"
- inquirer "^7.3.0"
- is-docker "^2.0.0"
- jiti "^0.1.11"
- nanoid "^3.1.10"
- node-fetch "^2.6.0"
+ git-url-parse "^11.4.0"
+ inquirer "^7.3.3"
+ is-docker "^2.1.1"
+ jiti "^0.1.16"
+ nanoid "^3.1.18"
+ node-fetch "^2.6.1"
parse-git-config "^3.0.0"
- rc9 "^1.0.0"
+ rc9 "^1.2.0"
std-env "^2.2.1"
"@nuxtjs/eslint-config@^5.0.0":
@@ -2331,9 +2294,9 @@
"@types/node" "*"
"@types/express-serve-static-core@*":
- version "4.17.13"
- resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.13.tgz#d9af025e925fc8b089be37423b8d1eac781be084"
- integrity sha512-RgDi5a4nuzam073lRGKTUIaL3eF2+H7LJvJ8eUnCI0wA6SNjXc44DCmWNiTLs/AZ7QlsFWZiw/gTG3nSQGL0fA==
+ version "4.17.14"
+ resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz#cabf91debeeb3cb04b798e2cff908864e89b6106"
+ integrity sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==
dependencies:
"@types/node" "*"
"@types/qs" "*"
@@ -2469,9 +2432,9 @@
"@types/node" "*"
"@types/node@*", "@types/node@>= 8":
- version "14.14.9"
- resolved "https://registry.npmjs.org/@types/node/-/node-14.14.9.tgz#04afc9a25c6ff93da14deabd65dc44485b53c8d6"
- integrity sha512-JsoLXFppG62tWTklIoO4knA+oDTYsmqWxHRvd4lpmfQRNhX6osheUOWETP2jMoV/2bEHuMra8Pp3Dmo/stBFcw==
+ version "14.14.10"
+ resolved "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz#5958a82e41863cfc71f2307b3748e3491ba03785"
+ integrity sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ==
"@types/node@^12.19.7":
version "12.19.7"
@@ -2638,37 +2601,37 @@
"@types/node" "*"
"@typescript-eslint/experimental-utils@^4.0.1":
- version "4.8.1"
- resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.8.1.tgz#27275c20fa4336df99ebcf6195f7d7aa7aa9f22d"
- integrity sha512-WigyLn144R3+lGATXW4nNcDJ9JlTkG8YdBWHkDlN0lC3gUGtDi7Pe3h5GPvFKMcRz8KbZpm9FJV9NTW8CpRHpg==
+ version "4.8.2"
+ resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.8.2.tgz#8909a5732f19329cf5ef0c39766170476bff5e50"
+ integrity sha512-hpTw6o6IhBZEsQsjuw/4RWmceRyESfAiEzAEnXHKG1X7S5DXFaZ4IO1JO7CW1aQ604leQBzjZmuMI9QBCAJX8Q==
dependencies:
"@types/json-schema" "^7.0.3"
- "@typescript-eslint/scope-manager" "4.8.1"
- "@typescript-eslint/types" "4.8.1"
- "@typescript-eslint/typescript-estree" "4.8.1"
+ "@typescript-eslint/scope-manager" "4.8.2"
+ "@typescript-eslint/types" "4.8.2"
+ "@typescript-eslint/typescript-estree" "4.8.2"
eslint-scope "^5.0.0"
eslint-utils "^2.0.0"
-"@typescript-eslint/scope-manager@4.8.1":
- version "4.8.1"
- resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.8.1.tgz#e343c475f8f1d15801b546cb17d7f309b768fdce"
- integrity sha512-r0iUOc41KFFbZdPAdCS4K1mXivnSZqXS5D9oW+iykQsRlTbQRfuFRSW20xKDdYiaCoH+SkSLeIF484g3kWzwOQ==
+"@typescript-eslint/scope-manager@4.8.2":
+ version "4.8.2"
+ resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.8.2.tgz#a18388c63ae9c17adde519384f539392f2c4f0d9"
+ integrity sha512-qHQ8ODi7mMin4Sq2eh/6eu03uVzsf5TX+J43xRmiq8ujng7ViQSHNPLOHGw/Wr5dFEoxq/ubKhzClIIdQy5q3g==
dependencies:
- "@typescript-eslint/types" "4.8.1"
- "@typescript-eslint/visitor-keys" "4.8.1"
+ "@typescript-eslint/types" "4.8.2"
+ "@typescript-eslint/visitor-keys" "4.8.2"
-"@typescript-eslint/types@4.8.1":
- version "4.8.1"
- resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.8.1.tgz#23829c73c5fc6f4fcd5346a7780b274f72fee222"
- integrity sha512-ave2a18x2Y25q5K05K/U3JQIe2Av4+TNi/2YuzyaXLAsDx6UZkz1boZ7nR/N6Wwae2PpudTZmHFXqu7faXfHmA==
+"@typescript-eslint/types@4.8.2":
+ version "4.8.2"
+ resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.8.2.tgz#c862dd0e569d9478eb82d6aee662ea53f5661a36"
+ integrity sha512-z1/AVcVF8ju5ObaHe2fOpZYEQrwHyZ7PTOlmjd3EoFeX9sv7UekQhfrCmgUO7PruLNfSHrJGQvrW3Q7xQ8EoAw==
-"@typescript-eslint/typescript-estree@4.8.1":
- version "4.8.1"
- resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.8.1.tgz#7307e3f2c9e95df7daa8dc0a34b8c43b7ec0dd32"
- integrity sha512-bJ6Fn/6tW2g7WIkCWh3QRlaSU7CdUUK52shx36/J7T5oTQzANvi6raoTsbwGM11+7eBbeem8hCCKbyvAc0X3sQ==
+"@typescript-eslint/typescript-estree@4.8.2":
+ version "4.8.2"
+ resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.8.2.tgz#eeec34707d8577600fb21661b5287226cc8b3bed"
+ integrity sha512-HToGNwI6fekH0dOw3XEVESUm71Onfam0AKin6f26S2FtUmO7o3cLlWgrIaT1q3vjB3wCTdww3Dx2iGq5wtUOCg==
dependencies:
- "@typescript-eslint/types" "4.8.1"
- "@typescript-eslint/visitor-keys" "4.8.1"
+ "@typescript-eslint/types" "4.8.2"
+ "@typescript-eslint/visitor-keys" "4.8.2"
debug "^4.1.1"
globby "^11.0.1"
is-glob "^4.0.1"
@@ -2676,12 +2639,12 @@
semver "^7.3.2"
tsutils "^3.17.1"
-"@typescript-eslint/visitor-keys@4.8.1":
- version "4.8.1"
- resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.8.1.tgz#794f68ee292d1b2e3aa9690ebedfcb3a8c90e3c3"
- integrity sha512-3nrwXFdEYALQh/zW8rFwP4QltqsanCDz4CwWMPiIZmwlk9GlvBeueEIbq05SEq4ganqM0g9nh02xXgv5XI3PeQ==
+"@typescript-eslint/visitor-keys@4.8.2":
+ version "4.8.2"
+ resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.8.2.tgz#62cd3fbbbf65f8eccfbe6f159eb1b84a243a3f77"
+ integrity sha512-Vg+/SJTMZJEKKGHW7YC21QxgKJrSbxoYYd3MEUGtW7zuytHuEcksewq0DUmo4eh/CTNrVJGSdIY9AtRb6riWFw==
dependencies:
- "@typescript-eslint/types" "4.8.1"
+ "@typescript-eslint/types" "4.8.2"
eslint-visitor-keys "^2.0.0"
"@vue/babel-helper-vue-jsx-merge-props@^1.2.1":
@@ -3191,10 +3154,10 @@ are-we-there-yet@~1.1.2:
delegates "^1.0.0"
readable-stream "^2.0.6"
-arg@^4.1.3:
- version "4.1.3"
- resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
- integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
+arg@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/arg/-/arg-5.0.0.tgz#a20e2bb5710e82950a516b3f933fee5ed478be90"
+ integrity sha512-4P8Zm2H+BRS+c/xX1LrHw0qKpEhdlZjLCgWy+d78T9vqa2Z2SiD2wMrYuWIAFy5IZUD7nnNXroRttz+0RzlrzQ==
argparse@^1.0.7:
version "1.0.10"
@@ -3244,12 +3207,14 @@ array-ify@^1.0.0:
integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=
array-includes@^3.1.1:
- version "3.1.1"
- resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348"
- integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==
+ version "3.1.2"
+ resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz#a8db03e0b88c8c6aeddc49cb132f9bcab4ebf9c8"
+ integrity sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==
dependencies:
+ call-bind "^1.0.0"
define-properties "^1.1.3"
- es-abstract "^1.17.0"
+ es-abstract "^1.18.0-next.1"
+ get-intrinsic "^1.0.1"
is-string "^1.0.5"
array-union@^1.0.2:
@@ -4030,12 +3995,7 @@ caniuse-api@^3.0.0:
lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0"
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001157:
- version "1.0.30001159"
- resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001159.tgz#bebde28f893fa9594dadcaa7d6b8e2aa0299df20"
- integrity sha512-w9Ph56jOsS8RL20K9cLND3u/+5WASWdhC/PPrf+V3/HsM3uHOavWOR1Xzakbv4Puo/srmPHudkmCRWM7Aq+/UA==
-
-caniuse-lite@^1.0.30001161:
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001157, caniuse-lite@^1.0.30001161:
version "1.0.30001161"
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001161.tgz#64f7ffe79ee780b8c92843ff34feb36cea4651e0"
integrity sha512-JharrCDxOqPLBULF9/SPa6yMcBRTjZARJ6sc3cuKrPfyIk64JN6kuMINWqA99Xc8uElMFcROliwtz0n9pYej+g==
@@ -4710,7 +4670,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
-create-require@^1.0.2, create-require@^1.1.0:
+create-require@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.0.tgz#8fe85b319928953deef6f0e5c44bfea13e3c81ef"
integrity sha512-yEFVS7dQjDXp5iOEtWisN4uFmL+pUTyIaEizKda9Eb77XX58p6pgFOLAPaBCP+IR6ZPZ1jgJLAuf+ABk0zXYBQ==
@@ -5161,6 +5121,11 @@ defu@^2.0.4:
resolved "https://registry.npmjs.org/defu/-/defu-2.0.4.tgz#09659a6e87a8fd7178be13bd43e9357ebf6d1c46"
integrity sha512-G9pEH1UUMxShy6syWk01VQSRVs3CDWtlxtZu7A+NyqjxaCA4gSlWAKDBx6QiUEKezqS8+DUlXLI14Fp05Hmpwg==
+defu@^3.2.2:
+ version "3.2.2"
+ resolved "https://registry.npmjs.org/defu/-/defu-3.2.2.tgz#be20f4cc49b9805d54ee6b610658d53894942e97"
+ integrity sha512-8UWj5lNv7HD+kB0e9w77Z7TdQlbUYDVWqITLHNqFIn6khrNHv5WQo38Dcm1f6HeNyZf0U7UbPf6WeZDSdCzGDQ==
+
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
@@ -5214,6 +5179,11 @@ detect-newline@3.1.0, detect-newline@^3.0.0:
resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
+devalue@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/devalue/-/devalue-2.0.1.tgz#5d368f9adc0928e47b77eea53ca60d2f346f9762"
+ integrity sha512-I2TiqT5iWBEyB8GRfTDP0hiLZ0YeDJZ+upDxjBfOC2lebO5LezQMv7QvIUTzdb64jQyAKLf1AHADtGN+jw6v8Q==
+
devtools-protocol@0.0.818844:
version "0.0.818844"
resolved "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.818844.tgz#d1947278ec85b53e4c8ca598f607a28fa785ba9e"
@@ -5421,9 +5391,9 @@ ejs@^2.6.1:
integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==
electron-to-chromium@^1.3.591:
- version "1.3.603"
- resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.603.tgz#1b71bec27fb940eccd79245f6824c63d5f7e8abf"
- integrity sha512-J8OHxOeJkoSLgBXfV9BHgKccgfLMHh+CoeRo6wJsi6m0k3otaxS/5vrHpMNSEYY4MISwewqanPOuhAtuE8riQQ==
+ version "1.3.607"
+ resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.607.tgz#1bff13f1cf89f2fee0d244b8c64a7138f80f3a3b"
+ integrity sha512-h2SYNaBnlplGS0YyXl8oJWokfcNxVjJANQfMCsQefG6OSuAuNIeW+A8yGT/ci+xRoBb3k2zq1FrOvkgoKBol8g==
elliptic@^6.5.3:
version "6.5.3"
@@ -5539,7 +5509,7 @@ error-stack-parser@^2.0.0:
dependencies:
stackframe "^1.1.1"
-es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.4, es-abstract@^1.17.5:
+es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.4, es-abstract@^1.17.5:
version "1.17.7"
resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c"
integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==
@@ -6518,7 +6488,7 @@ get-caller-file@^2.0.1:
resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-get-intrinsic@^1.0.0:
+get-intrinsic@^1.0.0, get-intrinsic@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz#94a9768fcbdd0595a1c9273aacf4c89d075631be"
integrity sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==
@@ -6636,7 +6606,7 @@ git-up@^4.0.0:
is-ssh "^1.3.0"
parse-url "^5.0.0"
-git-url-parse@^11.1.2:
+git-url-parse@^11.1.2, git-url-parse@^11.4.0:
version "11.4.0"
resolved "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.4.0.tgz#f2bb1f2b00f05552540e95a62e31399a639a6aa6"
integrity sha512-KlIa5jvMYLjXMQXkqpFzobsyD/V2K5DRHl5OAf+6oDFPlPLxrGDVQlIdI63c4/Kt6kai4kALENSALlzTGST3GQ==
@@ -7342,7 +7312,7 @@ inquirer@^6.2.0:
strip-ansi "^5.1.0"
through "^2.3.6"
-inquirer@^7.3.0:
+inquirer@^7.3.3:
version "7.3.3"
resolved "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003"
integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==
@@ -7502,7 +7472,7 @@ is-directory@^0.3.1:
resolved "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
-is-docker@^2.0.0:
+is-docker@^2.0.0, is-docker@^2.1.1:
version "2.1.1"
resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156"
integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==
@@ -8189,11 +8159,6 @@ jest@^26.6.3:
import-local "^3.0.2"
jest-cli "^26.6.3"
-jiti@^0.1.11:
- version "0.1.15"
- resolved "https://registry.npmjs.org/jiti/-/jiti-0.1.15.tgz#4ab80092b5e14e6b4d41e645940e6b818de549df"
- integrity sha512-H2xOyAnmrHcl1KaJ5fDvcKgXbps852FSTMp9v0F5nBpX0NET1xgkLFUFHNHs4i83u4ZSBXLB0qDwvrV8/lOAdw==
-
jiti@^0.1.16:
version "0.1.16"
resolved "https://registry.npmjs.org/jiti/-/jiti-0.1.16.tgz#f8c7d73b51153edfb43d3e5a4984537198771650"
@@ -9205,7 +9170,7 @@ nan@^2.12.1, nan@^2.13.2:
resolved "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19"
integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==
-nanoid@^3.1.10:
+nanoid@^3.1.18:
version "3.1.18"
resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.1.18.tgz#0680db22ab01c372e89209f5d18283d98de3e96d"
integrity sha512-rndlDjbbHbcV3xi+R2fpJ+PbGMdfBxz5v1fATIQFq0DP64FsicQdwnKLy47K4kZHdRpmQXtz24eGsxQqamzYTA==
@@ -9271,7 +9236,7 @@ node-fetch-npm@^2.0.2:
json-parse-better-errors "^1.0.0"
safe-buffer "^5.1.1"
-node-fetch@^2.5.0, node-fetch@^2.6.0, node-fetch@^2.6.1:
+node-fetch@^2.5.0, node-fetch@^2.6.1:
version "2.6.1"
resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
@@ -11157,15 +11122,6 @@ raw-body@2.4.0:
iconv-lite "0.4.24"
unpipe "1.0.0"
-rc9@^1.0.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/rc9/-/rc9-1.1.0.tgz#0176e8d32c358e96fa8c8d31036c3a0de3da8e9f"
- integrity sha512-YXmv+7QWbRDCMroz0YYGcFbo2hslal7KHZO6JUIuOlmyV0YPjqzqPTWnonO44iyvJhoz5sQrmyA9PdOlih6QpA==
- dependencies:
- defu "^2.0.4"
- destr "^1.0.0"
- flat "^5.0.0"
-
rc9@^1.2.0:
version "1.2.0"
resolved "https://registry.npmjs.org/rc9/-/rc9-1.2.0.tgz#ef098181fdde714efc4c426383d6e46c14b1254a"