[Vue3][Quasar2] Switch to new framework versions

This commit is contained in:
Ferdinand Thiessen 2021-01-30 04:10:51 +01:00
parent fb8fc09e8d
commit 074fae4da3
10 changed files with 1116 additions and 16345 deletions

View File

@ -38,9 +38,9 @@ module.exports = {
// Uncomment any of the lines below to choose desired strictness, // Uncomment any of the lines below to choose desired strictness,
// but leave only one uncommented! // but leave only one uncommented!
// See https://eslint.vuejs.org/rules/#available-rules // See https://eslint.vuejs.org/rules/#available-rules
'plugin:vue/essential', // Priority A: Essential (Error Prevention) 'plugin:vue/vue3-essential', // Priority A: Essential (Error Prevention)
// 'plugin:vue/strongly-recommended', // Priority B: Strongly Recommended (Improving Readability) // 'plugin:vue/vue3-strongly-recommended', // Priority B: Strongly Recommended (Improving Readability)
// 'plugin:vue/recommended', // Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead) // 'plugin:vue/vue3-recommended', // Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead)
// https://github.com/prettier/eslint-config-prettier#installation // https://github.com/prettier/eslint-config-prettier#installation
// usage with Prettier, provided by 'eslint-config-prettier'. // usage with Prettier, provided by 'eslint-config-prettier'.
@ -66,6 +66,10 @@ module.exports = {
ga: true, // Google Analytics ga: true, // Google Analytics
cordova: true, cordova: true,
__statics: true, __statics: true,
__QUASAR_SSR__: true,
__QUASAR_SSR_SERVER__: true,
__QUASAR_SSR_CLIENT__: true,
__QUASAR_SSR_PWA__: true,
process: true, process: true,
Capacitor: true, Capacitor: true,
chrome: true chrome: true

15158
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -11,30 +11,27 @@
}, },
"dependencies": { "dependencies": {
"@quasar/extras": "^1.9.10", "@quasar/extras": "^1.9.10",
"@vue/composition-api": "^0.6.4", "axios": "^0.21.1",
"axios": "^0.21.0",
"cordova": "^10.0.0", "cordova": "^10.0.0",
"core-js": "^3.7.0", "core-js": "^3.7.0",
"prettier": "^2.2.1", "quasar": "^2.0.0-alpha.15",
"quasar": "^1.14.5", "vue-router": "4.0.3"
"uuid": "^8.3.2",
"vue-router": "3.3.2"
}, },
"devDependencies": { "devDependencies": {
"@quasar/app": "^2.1.8", "@quasar/app": "^3.0.0-alpha.8",
"@quasar/quasar-app-extension-qcalendar": "^3.3.4", "@quasar/quasar-app-extension-qcalendar": "^3.3.4",
"@types/node": "^12.19.6", "@types/node": "^12.19.6",
"@types/uuid": "^8.3.0", "@types/webpack": "^4.41.26",
"@types/webpack": "^4.41.25",
"@types/webpack-env": "^1.16.0", "@types/webpack-env": "^1.16.0",
"@typescript-eslint/eslint-plugin": "^4.8.2", "@typescript-eslint/eslint-plugin": "^4.8.2",
"@typescript-eslint/parser": "^4.8.2", "@typescript-eslint/parser": "^4.8.2",
"babel-eslint": "^10.1.0", "babel-eslint": "^10.1.0",
"eslint": "^7.14.0", "eslint": "^7.15.0",
"eslint-config-prettier": "^6.15.0", "eslint-config-prettier": "^6.15.0",
"eslint-plugin-vue": "^7.1.0", "eslint-plugin-vue": "^7.5.0",
"eslint-webpack-plugin": "^2.4.0", "eslint-webpack-plugin": "^2.4.3",
"typescript": "^4.1.2" "prettier": "^2.2.1",
"typescript": "^4.1.3"
}, },
"browserslist": [ "browserslist": [
"last 10 Chrome versions", "last 10 Chrome versions",

View File

@ -5,18 +5,23 @@
// Configuration for your app // Configuration for your app
// https://quasar.dev/quasar-cli/quasar-conf-js // https://quasar.dev/quasar-cli/quasar-conf-js
/* eslint-env node */ /* eslint-env node */
/* eslint-disable @typescript-eslint/no-var-requires */ const ESLintPlugin = require('eslint-webpack-plugin')
const { configure } = require('quasar/wrappers'); const { configure } = require('quasar/wrappers');
module.exports = configure(function(ctx) { module.exports = configure(function (/* ctx */) {
return { return {
// https://quasar.dev/quasar-cli/supporting-ts
// https://quasar.dev/quasar-cli/supporting-ts // https://quasar.dev/quasar-cli/supporting-ts
supportTS: { supportTS: {
tsCheckerConfig: { tsCheckerConfig: {
eslint: true eslint: {
enabled: true,
files: './src/**/*.{ts,tsx,js,jsx,vue}',
},
} }
}, }
// https://quasar.dev/quasar-cli/prefetch-feature // https://quasar.dev/quasar-cli/prefetch-feature
// preFetch: true, // preFetch: true,
@ -24,7 +29,7 @@ module.exports = configure(function(ctx) {
// app boot file (/src/boot) // app boot file (/src/boot)
// --> boot files are part of "main.js" // --> boot files are part of "main.js"
// https://quasar.dev/quasar-cli/boot-files // https://quasar.dev/quasar-cli/boot-files
boot: ['composition-api', 'axios', 'plugins', 'loading', 'filter', 'login'], boot: ['axios', 'plugins', 'loading', 'filter', 'login'],
// https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css // https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
css: ['app.scss'], css: ['app.scss'],
@ -32,7 +37,7 @@ module.exports = configure(function(ctx) {
// https://github.com/quasarframework/quasar/tree/dev/extras // https://github.com/quasarframework/quasar/tree/dev/extras
extras: [ extras: [
// 'ionicons-v4', // 'ionicons-v4',
'mdi-v5', 'mdi-v5',
// 'fontawesome-v5', // 'fontawesome-v5',
// 'eva-icons', // 'eva-icons',
// 'themify', // 'themify',
@ -40,7 +45,7 @@ module.exports = configure(function(ctx) {
// 'roboto-font-latin-ext', // this or either 'roboto-font', NEVER both! // 'roboto-font-latin-ext', // this or either 'roboto-font', NEVER both!
'roboto-font', // optional, you are not bound to it 'roboto-font', // optional, you are not bound to it
'material-icons' // optional, you are not bound to it 'material-icons', // optional, you are not bound to it
], ],
// Full list of options: https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-build // Full list of options: https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-build
@ -64,16 +69,15 @@ module.exports = configure(function(ctx) {
// extractCSS: false, // extractCSS: false,
// https://quasar.dev/quasar-cli/handling-webpack // https://quasar.dev/quasar-cli/handling-webpack
extendWebpack(cfg) { // "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
// linting is slow in TS projects, we execute it only for production builds chainWebpack (chain) {
if (ctx.prod) { chain.plugin('eslint-webpack-plugin')
const ESLintPlugin = require('eslint-webpack-plugin'); .use(ESLintPlugin, [{
extensions: [ 'js', 'vue' ],
exclude: 'node_modules'
}])
},
cfg.plugins.push(new ESLintPlugin({
extensions: ['ts']
}));
}
}
}, },
// Full list of options: https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-devServer // Full list of options: https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-devServer
@ -96,12 +100,7 @@ module.exports = configure(function(ctx) {
} }
}, },
// Possible values for "importStrategy": // For special cases outside of where the auto-import stategy can have an impact
// * 'auto' - (DEFAULT) Auto-import needed Quasar components & directives
// * 'all' - Manually specify what to import
importStrategy: 'auto',
// For special cases outside of where "auto" importStrategy can have an impact
// (like functional components as one of the examples), // (like functional components as one of the examples),
// you can manually specify Quasar components/directives to be available everywhere: // you can manually specify Quasar components/directives to be available everywhere:
// //
@ -175,11 +174,13 @@ module.exports = configure(function(ctx) {
packager: { packager: {
// https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options // https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options
// OS X / Mac App Store // OS X / Mac App Store
// appBundleId: '', // appBundleId: '',
// appCategoryType: '', // appCategoryType: '',
// osxSign: '', // osxSign: '',
// protocol: 'myapp://path', // protocol: 'myapp://path',
// Windows only // Windows only
// win32metadata: { ... } // win32metadata: { ... }
}, },
@ -193,10 +194,10 @@ module.exports = configure(function(ctx) {
// More info: https://quasar.dev/quasar-cli/developing-electron-apps/node-integration // More info: https://quasar.dev/quasar-cli/developing-electron-apps/node-integration
nodeIntegration: true, nodeIntegration: true,
extendWebpack(/* cfg */) { extendWebpack (/* cfg */) {
// do something with Electron main process Webpack cfg // do something with Electron main process Webpack cfg
// chainWebpack also available besides this extendWebpack // chainWebpack also available besides this extendWebpack
} }
} }
}; }
}); });

View File

@ -1,10 +1,8 @@
<template> <template>
<div id="q-app"> <router-view />
<router-view />
</div>
</template> </template>
<script lang="ts"> <script lang="ts">
import { defineComponent } from '@vue/composition-api'; import { defineComponent } from 'vue';
export default defineComponent({ export default defineComponent({
name: 'App', name: 'App',

View File

@ -1,7 +0,0 @@
import VueCompositionApi from '@vue/composition-api';
import { VueConstructor } from 'vue';
import { boot } from 'quasar/wrappers';
export default boot(({ Vue }: { Vue: VueConstructor }) => {
Vue.use(VueCompositionApi);
});

View File

@ -1,5 +1,5 @@
const config = { const config = {
baseURL: '/api' baseURL: '/api',
}; };
export default config; export default config;

View File

@ -1,9 +0,0 @@
// THIS FEATURE-FLAG FILE IS AUTOGENERATED,
// REMOVAL OR CHANGES WILL CAUSE RELATED TYPES TO STOP WORKING
import 'quasar/dist/types/feature-flag';
declare module 'quasar/dist/types/feature-flag' {
interface QuasarFeatureFlags {
store: true;
}
}

View File

@ -1,8 +1,8 @@
{ {
"extends": "@quasar/app/tsconfig-preset", "extends": "@quasar/app/tsconfig-preset",
"compilerOptions": { "compilerOptions": {
"types": ["node", "webpack-env", "@quasar/app"],
"baseUrl": ".", "baseUrl": ".",
"types": ["node", "webpack-env", "@quasar/app"],
"lib": ["DOM", "ES2019"] "lib": ["DOM", "ES2019"]
} }
} }

2191
yarn.lock

File diff suppressed because it is too large Load Diff