From 1e340163cf893b08fe09ffdb75d9468a30e10a84 Mon Sep 17 00:00:00 2001 From: Kael Date: Wed, 12 May 2021 05:32:45 +1000 Subject: [PATCH 1/4] chore: update docs to webpack 5 --- package.json | 23 +- packages/api-generator/package.json | 2 +- packages/docs/build/api-plugin.js | 2 +- packages/docs/build/pages-plugin.js | 2 +- packages/docs/build/sitemap.js | 9 +- packages/docs/package.json | 51 +- .../docs/plugins/@vuetify/config/client.js | 4 +- packages/docs/src/components/Markup.vue | 2 +- packages/vuetify/build/config.js | 9 +- packages/vuetify/build/webpack.base.config.js | 5 +- packages/vuetify/build/webpack.dev.config.js | 9 +- packages/vuetify/package.json | 20 +- yarn.lock | 5115 ++++++++--------- 13 files changed, 2352 insertions(+), 2901 deletions(-) diff --git a/package.json b/package.json index 5eb67ad4e54..aafa7288d32 100755 --- a/package.json +++ b/package.json @@ -38,13 +38,14 @@ "@octokit/core": "^3.1.2", "@typescript-eslint/eslint-plugin": "^4.5.0", "@typescript-eslint/parser": "^4.5.0", - "@vue/compiler-sfc": "^3.0.2", + "@vue/compiler-sfc": "^3.0.11", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.0", "conventional-changelog-cli": "^2.1.1", "cross-env": "^7.0.2", "cross-spawn": "^6.0.5", "css-loader": "^5.0.0", + "css-minimizer-webpack-plugin": "^2.0.0", "eslint": "^7.11.0", "eslint-config-standard": "^14.1.1", "eslint-plugin-import": "^2.22.1", @@ -65,25 +66,19 @@ "jest-serializer-html": "^7.0.0", "lerna": "^3.16.2", "moment": "^2.27.0", - "sass": "^1.27.0", - "sass-loader": "^10.0.4", + "sass": "^1.32.12", + "sass-loader": "^11.1.0", "semver": "^6.2.0", "shelljs": "^0.8.4", - "stylus-loader": "^4.1.1", "typescript": "^4.0.3", - "vue": "^3.0.7", + "vue": "^3.0.11", "vue-analytics": "^5.16.1", "vue-loader": "^16.1.2", "vue-meta": "^2.4.0", "vue-router": "^3.0.1", - "vuex": "^3.0.1", - "webpack": "^5.2.0", - "webpack-cli": "^4.1.0", - "webpack-dev-server": "3.9.0", - "webpack-merge": "^5.2.0" - }, - "resolutions": { - "workbox-webpack-plugin": "^5.1.3", - "@vue/cli-service/webpack-dev-server": "3.9.0" + "webpack": "^5.37.0", + "webpack-cli": "^4.7.0", + "webpack-dev-server": "4.0.0-beta.3", + "webpack-merge": "^5.7.3" } } diff --git a/packages/api-generator/package.json b/packages/api-generator/package.json index 0b0986e8bc7..9232609f00b 100755 --- a/packages/api-generator/package.json +++ b/packages/api-generator/package.json @@ -16,7 +16,7 @@ "dependencies": { "deepmerge": "^4.0.0", "rimraf": "^3.0.2", - "vue": "^3.0.7", + "vue": "^3.0.11", "vuetify": "^3.0.0-alpha.3" }, "devDependencies": { diff --git a/packages/docs/build/api-plugin.js b/packages/docs/build/api-plugin.js index 7d1ea3da837..787ef548b85 100644 --- a/packages/docs/build/api-plugin.js +++ b/packages/docs/build/api-plugin.js @@ -135,7 +135,7 @@ class ApiPlugin { }) compiler.hooks.watchRun.tap('ApiPlugin', async comp => { - const changedTimes = comp.watchFileSystem.watcher.mtimes + const changedTimes = comp.watchFileSystem.watcher.getTimeInfoEntries() changedFiles = Object.keys(changedTimes).filter(filePath => { return sourcePaths.some(path => filePath.startsWith(path)) diff --git a/packages/docs/build/pages-plugin.js b/packages/docs/build/pages-plugin.js index b59c9d20d62..77fd66a6f67 100644 --- a/packages/docs/build/pages-plugin.js +++ b/packages/docs/build/pages-plugin.js @@ -72,7 +72,7 @@ class Plugin { }) compiler.hooks.watchRun.tapPromise('PagesPlugin', async compiler => { - shouldWrite = !!Object.keys(compiler.watchFileSystem.watcher.mtimes) + shouldWrite = !!Object.keys(compiler.watchFileSystem.watcher.getTimeInfoEntries()) .find(path => path.indexOf('src/pages')) }) } diff --git a/packages/docs/build/sitemap.js b/packages/docs/build/sitemap.js index de4ca22d785..667f96d6465 100644 --- a/packages/docs/build/sitemap.js +++ b/packages/docs/build/sitemap.js @@ -5,10 +5,13 @@ const paths = [] for (const route of routes) { paths.push({ path: route.fullPath, - lastmod: new Date(), - priority: route.fullPath === '/' ? '1.0' : '0.8', + lastmod: new Date().toISOString(), + priority: route.fullPath === '/' ? 1 : 0.8, changefreq: 'daily', }) } -module.exports = new SitemapPlugin('https://vuetifyjs.com', paths) +module.exports = new SitemapPlugin({ + base: 'https://vuetifyjs.com', + paths, +}) diff --git a/packages/docs/package.json b/packages/docs/package.json index 177ec4e8b53..3c451b666ef 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -11,14 +11,12 @@ }, "workspaces": { "nohoist": [ - "@vue/**", - "vue-cli-plugin-vuetify", - "vuetify-loader", - "frontmatter-markdown-loader", - "vue-server-renderer", - "webpack", - "webpack-dev-server", - "webpack-dev-middleware" + "**/@vue/cli-service/**", + "**/vue-server-renderer", + "**/vue-template-compiler", + "**/vue-cli-plugin-vuetify", + "**/frontmatter-markdown-loader", + "**/vuetify-loader" ] }, "scripts": { @@ -37,7 +35,7 @@ }, "dependencies": { "algoliasearch": "^4.8.5", - "core-js": "^3.6.4", + "core-js": "^3.12.1", "node-fetch": "^2.6.0", "register-service-worker": "^1.7.1", "vue": "^2.6.12", @@ -45,24 +43,23 @@ "vue-instantsearch": "^3.4.3", "vue-router": "^3.1.6", "vuetify": "npm:vuetify@^2.4.0", - "vuex": "^3.4.0", - "webpack-node-externals": "^2.5.1" + "webpack-node-externals": "^3.0.0" }, "devDependencies": { - "@vue/cli-plugin-babel": "~4.5.3", - "@vue/cli-plugin-eslint": "~4.5.4", - "@vue/cli-plugin-pwa": "^4.5.4", - "@vue/cli-plugin-router": "~4.5.3", - "@vue/cli-plugin-vuex": "~4.5.3", - "@vue/cli-service": "~4.5.3", + "@vue/cli-plugin-babel": "~5.0.0-beta.0", + "@vue/cli-plugin-eslint": "~5.0.0-beta.0", + "@vue/cli-plugin-pwa": "~5.0.0-beta.0", + "@vue/cli-plugin-router": "~5.0.0-beta.0", + "@vue/cli-plugin-vuex": "~5.0.0-beta.0", + "@vue/cli-service": "~5.0.0-beta.0", "@vuetify/api-generator": "^3.0.0-alpha.3", "@vuetify/vue-cli-plugin-base": "~0.3.5", "cosmicjs": "^3.2.43", "date-fns": "^2.14.0", - "frontmatter-markdown-loader": "^3.5.0", + "frontmatter-markdown-loader": "^3.6.2", "git-date-extractor": "^3.0.0", - "html-loader": "^1.1.0", - "html-webpack-plugin": "^3.2.0", + "html-loader": "^2.1.2", + "html-webpack-plugin": "^5.3.1", "intersection-observer": "^0.11.0", "json-loader": "^0.5.7", "local-web-server": "^4.2.1", @@ -76,12 +73,11 @@ "marked": "^1.1.0", "minify-css-string": "^1.0.0", "mkdirp": "^1.0.4", - "optimize-css-assets-webpack-plugin": "^5.0.4", - "raw-loader": "^4.0.1", - "sass-loader": "^9.0.2", - "sitemap-webpack-plugin": "^0.8.1", + "raw-loader": "^4.0.2", + "sitemap-webpack-plugin": "^1.1.0", "vee-validate": "^3.3.7", - "vue-cli-plugin-vuetify": "~2.0.7", + "vuex": "^3.5.1", + "vue-cli-plugin-vuetify": "^2.4.0", "vue-cookies": "^1.7.0", "vue-gtag": "^1.6.5", "vue-meta": "^2.4.0", @@ -93,9 +89,8 @@ "vuex-pathify": "^1.4.1", "vuex-router-sync": "^5.0.0", "webfontloader": "^1.6.28", - "webpack": "^4.0.0", - "webpack-bundle-analyzer": "^3.8.0", - "webpack-virtual-modules": "^0.2.2", + "webpack-bundle-analyzer": "^4.4.1", + "webpack-virtual-modules": "^0.4.2", "workbox-precaching": "^5.1.3", "workbox-routing": "^5.1.3", "workbox-strategies": "^5.1.3" diff --git a/packages/docs/plugins/@vuetify/config/client.js b/packages/docs/plugins/@vuetify/config/client.js index 77e1b771a9c..2c3ff160b99 100644 --- a/packages/docs/plugins/@vuetify/config/client.js +++ b/packages/docs/plugins/@vuetify/config/client.js @@ -53,8 +53,8 @@ module.exports = config => { .minimize(IS_PROD) .minimizer('css') .use(require('terser-webpack-plugin')) - .use(require('optimize-css-assets-webpack-plugin'), [{ - cssProcessorOptions: { safe: true }, + .use(require('css-minimizer-webpack-plugin'), [{ + minimizerOptions: { safe: true }, }]) config.target('web') diff --git a/packages/docs/src/components/Markup.vue b/packages/docs/src/components/Markup.vue index 4bc022e71e7..fd6ea3832e3 100644 --- a/packages/docs/src/components/Markup.vue +++ b/packages/docs/src/components/Markup.vue @@ -14,7 +14,7 @@