2019-08-26 18:15:41 +02:00
// Configuration for your app
// https://quasar.dev/quasar-cli/quasar-conf-js
2024-02-26 16:02:04 +02:00
const { configure } = require ( 'quasar/wrappers' )
module . exports = configure ( function ( ctx ) {
2019-08-26 18:15:41 +02:00
return {
2024-05-21 15:26:04 +02:00
eslint : {
2024-02-26 16:02:04 +02:00
warnings : true ,
errors : true
} ,
2019-08-26 18:15:41 +02:00
// app boot file (/src/boot)
// --> boot files are part of "main.js"
boot : [
'api' ,
'_hacks' ,
'_init'
] ,
css : [
'sass/app.scss'
] ,
extras : [
// 'ionicons-v4',
// 'mdi-v3',
// 'fontawesome-v5',
'eva-icons' ,
// 'themify',
// 'roboto-font-latin-ext', // this or either 'roboto-font', NEVER both!
'roboto-font' , // optional, you are not bound to it
'material-icons' // optional, you are not bound to it
] ,
framework : {
// iconSet: 'ionicons-v4',
// lang: 'de', // Quasar language
// all: true, // --- includes everything; for dev only!
components : [
'QLayout' ,
'QHeader' ,
'QFooter' ,
'QDrawer' ,
'QPageContainer' ,
'QPage' ,
'QPageSticky' ,
'QPageScroller' ,
'QToolbar' ,
'QSpace' ,
'QToolbarTitle' ,
2019-09-16 15:18:06 +02:00
'QTooltip' ,
2019-08-26 18:15:41 +02:00
'QBtn' ,
'QIcon' ,
'QList' ,
'QItem' ,
'QExpansionItem' ,
'QItemSection' ,
'QItemLabel' ,
'QTabs' ,
'QTab' ,
'QRouteTab' ,
'QAvatar' ,
'QSeparator' ,
'QScrollArea' ,
'QImg' ,
'QBadge' ,
'QCard' ,
'QCardSection' ,
'QCardActions' ,
'QBreadcrumbs' ,
'QBreadcrumbsEl' ,
'QInput' ,
'QToggle' ,
'QForm' ,
'QField' ,
'QSelect' ,
'QCheckbox' ,
'QRadio' ,
'QMenu' ,
'QAjaxBar' ,
'QTable' ,
'QTh' ,
'QTr' ,
'QTd' ,
'QFab' ,
'QFabAction' ,
'QDialog' ,
'QUploader' ,
'QTree' ,
2019-09-10 14:40:05 +02:00
'QChip' ,
'QBtnToggle'
2019-08-26 18:15:41 +02:00
] ,
directives : [
'ClosePopup' ,
'Ripple'
] ,
// Quasar plugins
plugins : [
'Notify' ,
'Dialog' ,
'LoadingBar'
] ,
config : {
notify : { /* Notify defaults */ } ,
loadingBar : {
position : 'top' ,
color : 'accent' ,
size : '2px'
}
}
} ,
supportIE : false ,
build : {
2024-03-13 15:56:04 +01:00
// Needed to have relative assets in the index.html
// https://github.com/quasarframework/quasar/issues/8513#issuecomment-1127654470
2024-05-21 15:26:04 +02:00
extendViteConf ( viteConf , { isServer , isClient } ) {
viteConf . base = ''
2024-03-13 15:56:04 +01:00
} ,
2024-05-21 15:26:04 +02:00
viteVuePluginOptions : {
2024-02-26 16:02:04 +02:00
template : {
compilerOptions : {
isCustomElement : ( tag ) => tag . startsWith ( 'hub-' )
}
}
} ,
target : {
browser : [ 'edge88' , 'firefox78' , 'chrome87' , 'safari13.1' ] ,
node : 'node20'
} ,
2019-11-14 16:40:05 +01:00
publicPath : process . env . APP _PUBLIC _PATH || '' ,
2019-08-26 18:15:41 +02:00
env : process . env . APP _ENV === 'development'
? { // staging:
2024-05-21 15:26:04 +02:00
APP _ENV : process . env . APP _ENV ,
APP _API : process . env . APP _API || '/api'
}
2019-08-26 18:15:41 +02:00
: { // production:
2024-05-21 15:26:04 +02:00
APP _ENV : process . env . APP _ENV ,
APP _API : process . env . APP _API || '/api'
} ,
2019-08-26 18:15:41 +02:00
uglifyOptions : {
compress : {
drop _console : process . env . APP _ENV === 'production' ,
drop _debugger : process . env . APP _ENV === 'production'
}
} ,
scopeHoisting : true ,
2024-02-26 16:02:04 +02:00
vueRouterMode : 'hash' // available values: 'hash', 'history'
2019-08-26 18:15:41 +02:00
} ,
devServer : {
// https: true,
port : 8081 ,
2020-02-10 11:38:04 +03:00
open : true , // opens browser window automatically
proxy : {
// proxy all API requests to real Traefik
'/api' : {
target : 'http://localhost:8080' ,
changeOrigin : true
}
}
2019-08-26 18:15:41 +02:00
} ,
// animations: 'all', // --- includes all animations
animations : [ ] ,
ssr : {
2024-05-21 15:26:04 +02:00
pwa : false
2019-08-26 18:15:41 +02:00
} ,
pwa : {
2024-02-26 16:02:04 +02:00
workboxMode : 'injectManifest' , // or 'generateSW'
2019-08-26 18:15:41 +02:00
// workboxPluginMode: 'InjectManifest',
// workboxOptions: {}, // only for NON InjectManifest
workboxOptions : {
skipWaiting : true ,
clientsClaim : true
} ,
2024-02-26 16:02:04 +02:00
chainWebpackCustomSW ( chain ) {
chain . plugin ( 'eslint-webpack-plugin' )
. use ( ESLintPlugin , [ { extensions : [ 'js' ] } ] )
} ,
2019-08-26 18:15:41 +02:00
manifest : {
// name: 'Traefik',
// short_name: 'Traefik',
// description: 'Traefik UI',
display : 'standalone' ,
orientation : 'portrait' ,
background _color : '#ffffff' ,
theme _color : '#027be3' ,
icons : [
{
2024-05-21 15:26:04 +02:00
src : 'icons/icon-128x128.png' ,
sizes : '128x128' ,
type : 'image/png'
2019-08-26 18:15:41 +02:00
} ,
{
2024-05-21 15:26:04 +02:00
src : 'icons/icon-192x192.png' ,
sizes : '192x192' ,
type : 'image/png'
2019-08-26 18:15:41 +02:00
} ,
{
2024-05-21 15:26:04 +02:00
src : 'icons/icon-256x256.png' ,
sizes : '256x256' ,
type : 'image/png'
2019-08-26 18:15:41 +02:00
} ,
{
2024-05-21 15:26:04 +02:00
src : 'icons/icon-384x384.png' ,
sizes : '384x384' ,
type : 'image/png'
2019-08-26 18:15:41 +02:00
} ,
{
2024-05-21 15:26:04 +02:00
src : 'icons/icon-512x512.png' ,
sizes : '512x512' ,
type : 'image/png'
2019-08-26 18:15:41 +02:00
}
]
}
} ,
cordova : {
// id: 'us.containo.traefik',
// noIosLegacyBuildFlag: true, // uncomment only if you know what you are doing
} ,
electron : {
// bundler: 'builder', // or 'packager'
extendWebpack ( cfg ) {
// do something with Electron main process Webpack cfg
// chainWebpack also available besides this extendWebpack
} ,
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: 'traefik-ui'
}
}
}
2024-02-26 16:02:04 +02:00
} )