222 lines
6.7 KiB
JavaScript
222 lines
6.7 KiB
JavaScript
/*
|
|
* This file runs in a Node context (it's NOT transpiled by Babel), so use only
|
|
* the ES6 features that are supported by your Node version. https://node.green/
|
|
*/
|
|
|
|
// Configuration for your app
|
|
// https://quasar.dev/quasar-cli/quasar-conf-js
|
|
|
|
/* eslint-env node */
|
|
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
const ESLintPlugin = require('eslint-webpack-plugin')
|
|
const { ModifySourcePlugin } = require('modify-source-webpack-plugin')
|
|
const { configure } = require('quasar/wrappers')
|
|
|
|
|
|
module.exports = configure(function (/* ctx */) {
|
|
return {
|
|
// https://quasar.dev/quasar-cli/supporting-ts
|
|
// https://quasar.dev/quasar-cli/supporting-ts
|
|
supportTS: {
|
|
tsCheckerConfig: {
|
|
eslint: {
|
|
enabled: true,
|
|
files: './src/**/*.{ts,tsx,js,jsx,vue}',
|
|
},
|
|
}
|
|
},
|
|
|
|
// https://quasar.dev/quasar-cli/prefetch-feature
|
|
// preFetch: true,
|
|
|
|
// app boot file (/src/boot)
|
|
// --> boot files are part of "main.js"
|
|
// https://quasar.dev/quasar-cli/boot-files
|
|
boot: ['axios', 'store', 'plugins', 'loading', 'login'],
|
|
|
|
// https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
|
|
css: ['app.scss'],
|
|
|
|
// https://github.com/quasarframework/quasar/tree/dev/extras
|
|
extras: [
|
|
// 'eva-icons',
|
|
// 'fontawesome-v5',
|
|
// 'ionicons-v4',
|
|
// 'line-awesome',
|
|
// 'material-icons',
|
|
'mdi-v5',
|
|
// 'themify',
|
|
|
|
// 'roboto-font-latin-ext', // this or either 'roboto-font', NEVER both!
|
|
'roboto-font', // optional, you are not bound to it
|
|
],
|
|
|
|
// Full list of options: https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-build
|
|
build: {
|
|
vueRouterMode: 'history', // available values: 'hash', 'history'
|
|
|
|
// transpile: false,// eslint-disable-next-line
|
|
|
|
|
|
// Add dependencies for transpiling with Babel (Array of string/regex)
|
|
// (from node_modules, which are by default not transpiled).
|
|
// Applies only if "transpile" is set to true.
|
|
// transpileDependencies: [],
|
|
|
|
// rtl: false, // https://quasa// eslint-disable-next-line
|
|
|
|
// analyze: true,
|
|
|
|
// Options below are automatically set depending on the env, set them if you want to override
|
|
// extractCSS: false,
|
|
|
|
// https://quasar.dev/quasar-cli/handling-webpack
|
|
// "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
|
|
chainWebpack (chain) {
|
|
chain.plugin('eslint-webpack-plugin')
|
|
.use(ESLintPlugin, [{
|
|
extensions: [ 'ts', 'js', 'vue' ],
|
|
exclude: 'node_modules'
|
|
}])
|
|
chain.plugin('modify-source-webpack-plugin')
|
|
.use(ModifySourcePlugin, [{
|
|
rules: [
|
|
{
|
|
test: /plugins\.ts$/,
|
|
modify: (src, filename) => {
|
|
const custom_plgns = require('./plugin.config.js')
|
|
const required_plgns = require('./src/vendor-plugin.config.js')
|
|
return src.replace(/\/\* *INSERT_PLUGIN_LIST *\*\//,
|
|
[...custom_plgns, ...required_plgns].map(v => `import("${v}").then(v => success(v)).catch(() => failure("${v}"))`)
|
|
.join(','))
|
|
}
|
|
}
|
|
]
|
|
}])
|
|
//chain.resolve.alias.set('flaschengeist', '.')
|
|
}
|
|
|
|
},
|
|
|
|
// Full list of options: https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-devServer
|
|
devServer: {
|
|
https: false,
|
|
port: 8080,
|
|
open: false // opens browser window automatically
|
|
},
|
|
|
|
// https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-framework
|
|
framework: {
|
|
iconSet: 'mdi-v5', // Quasar icon set
|
|
lang: 'de', // Quasar language pack
|
|
config: {
|
|
dark: 'auto',
|
|
loadingBar: {
|
|
position: 'top',
|
|
color: 'warning',
|
|
size: '5px'
|
|
}
|
|
},
|
|
|
|
// For special cases outside of where the auto-import stategy can have an impact
|
|
// (like functional components as one of the examples),
|
|
// you can manually specify Quasar components/directives to be available everywhere:
|
|
//
|
|
// components: [],
|
|
// directives: [],
|
|
|
|
// Quasar plugins
|
|
plugins: [
|
|
'LocalStorage',
|
|
'SessionStorage',
|
|
'Loading',
|
|
'Notify',
|
|
'LoadingBar'
|
|
]
|
|
},
|
|
|
|
// animations: 'all', // --- includes all animations
|
|
// https://quasar.dev/options/animations
|
|
animations: [],
|
|
|
|
// https://quasar.dev/quasar-cli/developing-ssr/configuring-ssr
|
|
ssr: {
|
|
pwa: false
|
|
},
|
|
|
|
// https://quasar.dev/quasar-cli/developing-pwa/configuring-pwa
|
|
pwa: {
|
|
workboxPluginMode: 'GenerateSW', // 'GenerateSW' or 'InjectManifest'
|
|
workboxOptions: {}, // only for GenerateSW
|
|
manifest: {
|
|
name: 'Flaschengeist',
|
|
short_name: 'Flaschengeist',
|
|
description: 'Modular student club administration system',
|
|
display: 'standalone',
|
|
orientation: 'portrait',
|
|
background_color: '#ffffff',
|
|
theme_color: '#027be3',
|
|
icons: [
|
|
{
|
|
src: 'flaschengeist-logo.svg',
|
|
sizes: 'any',
|
|
type: 'image/svg+xml'
|
|
},
|
|
{
|
|
src: 'favicon-128x128.png',
|
|
sizes: '128x128',
|
|
type: 'image/png'
|
|
},
|
|
{
|
|
src: 'favicon-256x256.png',
|
|
sizes: '256x256',
|
|
type: 'image/png'
|
|
},
|
|
]
|
|
}
|
|
},
|
|
|
|
// Full list of options: https://quasar.dev/quasar-cli/developing-cordova-apps/configuring-cordova
|
|
cordova: {
|
|
// noIosLegacyBuildFlag: true, // uncomment only if you know what you are doing
|
|
},
|
|
|
|
// Full list of options: https://quasar.dev/quasar-cli/developing-capacitor-apps/configuring-capacitor
|
|
capacitor: {
|
|
hideSplashscreen: true
|
|
},
|
|
|
|
// Full list of options: https://quasar.dev/quasar-cli/developing-electron-apps/configuring-electron
|
|
electron: {
|
|
bundler: 'packager', // 'packager' or 'builder'
|
|
|
|
packager: {
|
|
// https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options
|
|
|
|
// OS X / Mac App Store
|
|
// appBundleId: '',
|
|
// appCategoryType: '',
|
|
// osxSign: '',
|
|
// protocol: 'myapp://path',
|
|
|
|
// Windows only
|
|
// win32metadata: { ... }
|
|
},
|
|
|
|
builder: {
|
|
// https://www.electron.build/configuration/configuration
|
|
|
|
appId: 'flaschengeist-frontend'
|
|
},
|
|
|
|
// More info: https://quasar.dev/quasar-cli/developing-electron-apps/node-integration
|
|
nodeIntegration: true,
|
|
|
|
extendWebpack (/* cfg */) {
|
|
// do something with Electron main process Webpack cfg
|
|
// chainWebpack also available besides this extendWebpack
|
|
}
|
|
}
|
|
}
|
|
});
|