- feat(app): Upgrade to Vue 2.7 [2.7.1] (support for: composition API, SFC script setup, CSS v-bind)
Warning before upgrading and using linting
Due to the requirements of Vue 2.7 enforced by Vue Team you should also upgrade your linting packages:
1) package.json
For JS only (not TS):
// old
"babel-eslint": "^10.0.1",
"eslint": "^7.21.0",
"eslint-plugin-vue": "^7.7.0",
"eslint-loader": "^3.0.3",
// new
"@babel/eslint-parser": "^7.13.14",
"eslint": "^8.10.0",
"eslint-plugin-vue": "^9.0.0",
"eslint-webpack-plugin": "^2.0.0",
For TS only:
// old
"babel-eslint": "^10.0.1",
"eslint": "^7.21.0",
"eslint-plugin-vue": "^7.7.0",
"eslint-loader": "^3.0.3",
// new
"@typescript-eslint/eslint-plugin": "^5.10.0",
"@typescript-eslint/parser": "^5.10.0",
"eslint": "^8.10.0",
"eslint-plugin-vue": "^9.0.0",
For "standard" linting, these also need upgrading:
// old
"eslint-config-standard": "^16.0.2",
"eslint-plugin-import": "^2.14.0",
"eslint-plugin-node": "^11.0.0",
"eslint-plugin-promise": "^4.0.1",
// new
"eslint-config-standard": "^17.0.0",
"eslint-plugin-import": "^2.19.1",
"eslint-plugin-n": "^15.0.0",
"eslint-plugin-promise": "^6.0.0",
If you're using airbnb, then:
// old
"eslint-config-airbnb-base": "^14.0.0",
// new
"eslint-config-airbnb-base": "^15.0.0",
2) .eslintrc.js
For JS only (not TS):
parserOptions: {
parser: '@babel/eslint-parser', // was -> parser: 'babel-eslint',
env: {
browser: true,
'vue/setup-compiler-macros': true // new!
},
3) TS only in quasar.conf.js
// old way
supportTS: {
tsCheckerConfig: { eslint: true },
},
// new way
supportTS: {
tsCheckerConfig: {
eslint: {
enabled: true,
files: './src/**/*.{ts,tsx,js,jsx,vue}',
},
},
},
4) If using @vue/composition-api
Uninstall @vue/composition-api
and replace @vue/composition-api
with vue
in all your files.
Donations
Quasar Framework is an open-source MIT licensed project that has been made possible due to the generous contributions by sponsors and backers. If you are interested in supporting this project, please consider: