From 31d9615cc38646eab7b9864fc4adce49177f32cd Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Wed, 3 Nov 2021 14:33:56 +0800 Subject: [PATCH] feat(generator)!: bump eslint-plugin-vue to v8 (#6795) --- docs/migrations/migrate-from-v4.md | 2 +- package.json | 2 +- packages/@vue/cli-plugin-eslint/eslintDeps.js | 12 ++-- .../@vue/cli-ui-addon-webpack/package.json | 2 +- .../@vue/cli-ui-addon-webpack/src/main.js | 1 + .../@vue/cli-ui-addon-widgets/package.json | 2 +- .../@vue/cli-ui-addon-widgets/src/main.js | 1 + packages/@vue/cli-ui/package.json | 2 +- yarn.lock | 59 ++++++++++++++++--- 9 files changed, 63 insertions(+), 20 deletions(-) diff --git a/docs/migrations/migrate-from-v4.md b/docs/migrations/migrate-from-v4.md index 22556d08eb..f3bd885d6f 100644 --- a/docs/migrations/migrate-from-v4.md +++ b/docs/migrations/migrate-from-v4.md @@ -129,7 +129,7 @@ The [`transpileDependencies` option](../config/#transpiledependencies) now accep ### ESLint Plugin * `eslint-loader` is replaced by [eslint-webpack-plugin](https://github.com/webpack-contrib/eslint-webpack-plugin), dropping support for ESLint <= 6. -* New projects are now generated with `eslint-plugin-vue` v7, see its [release notes](https://github.com/vuejs/eslint-plugin-vue/releases/tag/v7.0.0) for breaking changes. +* New projects are now generated with `eslint-plugin-vue` v8, see the release notes ([v7](https://github.com/vuejs/eslint-plugin-vue/releases/tag/v7.0.0), [v8](https://github.com/vuejs/eslint-plugin-vue/releases/tag/v8.0.0)) for breaking changes. * `@vue/eslint-config-prettier` is deprecated. See for the migration guide. ### PWA Plugin diff --git a/package.json b/package.json index 10ae9e3716..bd1eba8583 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@typescript-eslint/parser": "^4.15.1", "@vue/eslint-config-airbnb": "^5.3.0", "@vue/eslint-config-standard": "^6.1.0", - "@vue/eslint-config-typescript": "^7.0.0", + "@vue/eslint-config-typescript": "^9.0.0", "@vuepress/plugin-pwa": "^1.8.1", "@vuepress/theme-vue": "^1.8.1", "babel-core": "7.0.0-bridge.0", diff --git a/packages/@vue/cli-plugin-eslint/eslintDeps.js b/packages/@vue/cli-plugin-eslint/eslintDeps.js index 6d124956cd..95eef45c8b 100644 --- a/packages/@vue/cli-plugin-eslint/eslintDeps.js +++ b/packages/@vue/cli-plugin-eslint/eslintDeps.js @@ -1,7 +1,7 @@ const DEPS_MAP = { base: { eslint: '^7.20.0', - 'eslint-plugin-vue': '^7.6.0' + 'eslint-plugin-vue': '^8.0.1' }, airbnb: { '@vue/eslint-config-airbnb': '^5.3.0', @@ -19,9 +19,9 @@ const DEPS_MAP = { 'eslint-plugin-promise': '^5.1.0' }, typescript: { - '@vue/eslint-config-typescript': '^7.0.0', - '@typescript-eslint/eslint-plugin': '^4.15.1', - '@typescript-eslint/parser': '^4.15.1' + '@vue/eslint-config-typescript': '^9.0.0', + '@typescript-eslint/eslint-plugin': '^5.2.0', + '@typescript-eslint/parser': '^5.2.0' } } @@ -30,10 +30,6 @@ exports.DEPS_MAP = DEPS_MAP exports.getDeps = function (api, preset, rootOptions = {}) { const deps = Object.assign({}, DEPS_MAP.base, DEPS_MAP[preset]) - if (rootOptions.vueVersion === '3') { - Object.assign(deps, { 'eslint-plugin-vue': '^7.2.0' }) - } - if (api.hasPlugin('typescript')) { Object.assign(deps, DEPS_MAP.typescript) } diff --git a/packages/@vue/cli-ui-addon-webpack/package.json b/packages/@vue/cli-ui-addon-webpack/package.json index e48cb1ab62..08f83c3020 100644 --- a/packages/@vue/cli-ui-addon-webpack/package.json +++ b/packages/@vue/cli-ui-addon-webpack/package.json @@ -29,7 +29,7 @@ "eslint-plugin-import": "^2.20.2", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^5.1.0", - "eslint-plugin-vue": "^7.6.0", + "eslint-plugin-vue": "^8.0.1", "stylus": "^0.55.0", "stylus-loader": "^6.1.0", "vue-progress-path": "^0.0.2", diff --git a/packages/@vue/cli-ui-addon-webpack/src/main.js b/packages/@vue/cli-ui-addon-webpack/src/main.js index 72af054801..2cbbcf6a5f 100644 --- a/packages/@vue/cli-ui-addon-webpack/src/main.js +++ b/packages/@vue/cli-ui-addon-webpack/src/main.js @@ -7,6 +7,7 @@ Vue.use(VueProgress, { defaultShape: 'circle' }) +/* eslint-disable vue/multi-word-component-names */ ClientAddonApi.component('org.vue.webpack.components.dashboard', WebpackDashboard) ClientAddonApi.component('org.vue.webpack.components.analyzer', WebpackAnalyzer) diff --git a/packages/@vue/cli-ui-addon-widgets/package.json b/packages/@vue/cli-ui-addon-widgets/package.json index 5cdc55cc43..5568ef0d9f 100644 --- a/packages/@vue/cli-ui-addon-widgets/package.json +++ b/packages/@vue/cli-ui-addon-widgets/package.json @@ -29,7 +29,7 @@ "eslint-plugin-import": "^2.20.2", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^5.1.0", - "eslint-plugin-vue": "^7.6.0", + "eslint-plugin-vue": "^8.0.1", "stylus": "^0.55.0", "stylus-loader": "^6.1.0", "vue-template-compiler": "^2.6.14" diff --git a/packages/@vue/cli-ui-addon-widgets/src/main.js b/packages/@vue/cli-ui-addon-widgets/src/main.js index 947647ea1b..3a13f5a204 100644 --- a/packages/@vue/cli-ui-addon-widgets/src/main.js +++ b/packages/@vue/cli-ui-addon-widgets/src/main.js @@ -7,6 +7,7 @@ import VulnerabilityDetails from './components/VulnerabilityDetails.vue' import RunTask from './components/RunTask.vue' import News from './components/News.vue' +/* eslint-disable vue/multi-word-component-names */ ClientAddonApi.component('org.vue.widgets.components.welcome', Welcome) ClientAddonApi.component('org.vue.widgets.components.kill-port', KillPort) ClientAddonApi.component('org.vue.widgets.components.plugin-updates', PluginUpdates) diff --git a/packages/@vue/cli-ui/package.json b/packages/@vue/cli-ui/package.json index 2a807a955d..435f8d1249 100644 --- a/packages/@vue/cli-ui/package.json +++ b/packages/@vue/cli-ui/package.json @@ -83,7 +83,7 @@ "eslint-plugin-import": "^2.20.2", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^5.1.0", - "eslint-plugin-vue": "^7.6.0", + "eslint-plugin-vue": "^8.0.1", "lint-staged": "^11.1.2", "lodash.debounce": "^4.0.8", "portal-vue": "^2.1.7", diff --git a/yarn.lock b/yarn.lock index 5c6ac7cee9..c4bdecb733 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4026,12 +4026,12 @@ eslint-import-resolver-node "^0.3.4" eslint-import-resolver-webpack "^0.13.1" -"@vue/eslint-config-typescript@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@vue/eslint-config-typescript/-/eslint-config-typescript-7.0.0.tgz#220c70c2edf7a253e739298525f4d401b8ef0038" - integrity sha512-UxUlvpSrFOoF8aQ+zX1leYiEBEm7CZmXYn/ZEM1zwSadUzpamx56RB4+Htdjisv1mX2tOjBegNUqH3kz2OL+Aw== +"@vue/eslint-config-typescript@^9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@vue/eslint-config-typescript/-/eslint-config-typescript-9.0.0.tgz#e6a46d4ffb2c82b639fe183ec734569f33b47605" + integrity sha512-X5inaB7c8ADWt2ygFshuT5GRw1obXWQKFR7GTvK0q+H9Cuz/BRDLXEHZTx7AxHiA5Qri1q1C1uMCPFiCBAg+6w== dependencies: - vue-eslint-parser "^7.0.0" + vue-eslint-parser "^8.0.0" "@vue/shared@3.2.20": version "3.2.20" @@ -4802,7 +4802,7 @@ acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.0.4, acorn@^8.0.5, acorn@^8.2.4, acorn@^8.4.1: +acorn@^8.0.4, acorn@^8.0.5, acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0: version "8.5.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== @@ -9739,6 +9739,16 @@ eslint-plugin-vue@^7.6.0: semver "^6.3.0" vue-eslint-parser "^7.10.0" +eslint-plugin-vue@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-8.0.1.tgz#1d27d976ab6471c5833397cbc8dec78c3b772606" + integrity sha512-h7SJFNECfkx89CeH3VCGGhLcm4VLOsOZ+DUSGk0h/aCqm9Outm/sIkoOvNpCebsb0U+uBzb93v2yZ6k7Vzy6LQ== + dependencies: + eslint-utils "^3.0.0" + natural-compare "^1.4.0" + semver "^7.3.5" + vue-eslint-parser "^8.0.0" + eslint-plugin-wdio@^7.0.0: version "7.4.2" resolved "https://registry.yarnpkg.com/eslint-plugin-wdio/-/eslint-plugin-wdio-7.4.2.tgz#c60a3227900bf651b11892624b730c2a20584601" @@ -9760,6 +9770,14 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" +eslint-scope@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-6.0.0.tgz#9cf45b13c5ac8f3d4c50f46a5121f61b3e318978" + integrity sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + eslint-utils@^2.0.0, eslint-utils@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" @@ -9784,6 +9802,11 @@ eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== +eslint-visitor-keys@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.0.0.tgz#e32e99c6cdc2eb063f204eda5db67bfe58bb4186" + integrity sha512-mJOZa35trBTb3IyRmo8xmKBZlxf+N7OnUl4+ZhJHs/r+0770Wh/LEACE2pqMGMe27G/4y8P2bYGk4J70IC5k1Q== + eslint-webpack-plugin@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-3.1.0.tgz#86ee426f076e2d82f9d9eaab12db1de4311c35b2" @@ -9864,6 +9887,15 @@ espree@^7.3.0, espree@^7.3.1: acorn-jsx "^5.3.1" eslint-visitor-keys "^1.3.0" +espree@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.0.0.tgz#e90a2965698228502e771c7a58489b1a9d107090" + integrity sha512-r5EQJcYZ2oaGbeR0jR0fFVijGOcwai07/690YRXLINuhmVeRY4UKSAsQPe/0BNuDgwP7Ophoc1PRsr2E3tkbdQ== + dependencies: + acorn "^8.5.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^3.0.0" + esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" @@ -22121,7 +22153,7 @@ vue-color@^2.8.1: material-colors "^1.0.0" tinycolor2 "^1.1.2" -vue-eslint-parser@^7.0.0, vue-eslint-parser@^7.10.0: +vue-eslint-parser@^7.10.0: version "7.11.0" resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz#214b5dea961007fcffb2ee65b8912307628d0daf" integrity sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg== @@ -22134,6 +22166,19 @@ vue-eslint-parser@^7.0.0, vue-eslint-parser@^7.10.0: lodash "^4.17.21" semver "^6.3.0" +vue-eslint-parser@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-8.0.0.tgz#d77fe0f47a378a7022d3d10c44d5c3df158bd27a" + integrity sha512-YxN5bkPDji+XLQ4sx+ULLxckL+y/oS3xzgFRkcjJL2asfVcRhzbrNRwMtWgj/70fXsrr+hkFjkxze8PBZ5O3ug== + dependencies: + debug "^4.3.2" + eslint-scope "^6.0.0" + eslint-visitor-keys "^3.0.0" + espree "^9.0.0" + esquery "^1.4.0" + lodash "^4.17.21" + semver "^7.3.5" + vue-hot-reload-api@^2.3.0: version "2.3.4" resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2"