traefik/webui/quasar.conf.js

266 lines
6 KiB
JavaScript
Raw Normal View History

2019-08-26 16:15:41 +00:00
// Configuration for your app
// https://quasar.dev/quasar-cli/quasar-conf-js
const { configure } = require('quasar/wrappers')
module.exports = configure(function (ctx) {
2019-08-26 16:15:41 +00:00
return {
2024-05-21 13:26:04 +00:00
eslint: {
warnings: true,
errors: true
},
2019-08-26 16:15:41 +00: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 13:18:06 +00:00
'QTooltip',
2019-08-26 16:15:41 +00: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 12:40:05 +00:00
'QChip',
'QBtnToggle'
2019-08-26 16:15:41 +00:00
],
directives: [
'ClosePopup',
'Ripple'
],
// Quasar plugins
plugins: [
'Notify',
'Dialog',
'LoadingBar'
],
config: {
notify: { /* Notify defaults */ },
loadingBar: {
position: 'top',
color: 'accent',
size: '2px'
}
}
},
supportIE: false,
build: {
// Needed to have relative assets in the index.html
// https://github.com/quasarframework/quasar/issues/8513#issuecomment-1127654470
2024-05-21 13:26:04 +00:00
extendViteConf (viteConf, { isServer, isClient }) {
viteConf.base = ''
},
2024-05-21 13:26:04 +00:00
viteVuePluginOptions: {
template: {
compilerOptions: {
isCustomElement: (tag) => tag.startsWith('hub-')
}
}
},
target: {
browser: ['edge88', 'firefox78', 'chrome87', 'safari13.1'],
node: 'node20'
},
publicPath: process.env.APP_PUBLIC_PATH || '',
2019-08-26 16:15:41 +00:00
env: process.env.APP_ENV === 'development'
? { // staging:
2024-05-21 13:26:04 +00:00
APP_ENV: process.env.APP_ENV,
APP_API: process.env.APP_API || '/api'
}
2019-08-26 16:15:41 +00:00
: { // production:
2024-05-21 13:26:04 +00:00
APP_ENV: process.env.APP_ENV,
APP_API: process.env.APP_API || '/api'
},
2019-08-26 16:15:41 +00:00
uglifyOptions: {
compress: {
drop_console: process.env.APP_ENV === 'production',
drop_debugger: process.env.APP_ENV === 'production'
}
},
scopeHoisting: true,
vueRouterMode: 'hash' // available values: 'hash', 'history'
2019-08-26 16:15:41 +00:00
},
devServer: {
// https: true,
port: 8081,
2020-02-10 08:38:04 +00: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 16:15:41 +00:00
},
// animations: 'all', // --- includes all animations
animations: [],
ssr: {
2024-05-21 13:26:04 +00:00
pwa: false
2019-08-26 16:15:41 +00:00
},
pwa: {
workboxMode: 'injectManifest', // or 'generateSW'
2019-08-26 16:15:41 +00:00
// workboxPluginMode: 'InjectManifest',
// workboxOptions: {}, // only for NON InjectManifest
workboxOptions: {
skipWaiting: true,
clientsClaim: true
},
chainWebpackCustomSW (chain) {
chain.plugin('eslint-webpack-plugin')
.use(ESLintPlugin, [{ extensions: ['js'] }])
},
2019-08-26 16:15:41 +00:00
manifest: {
// name: 'Traefik',
// short_name: 'Traefik',
// description: 'Traefik UI',
display: 'standalone',
orientation: 'portrait',
background_color: '#ffffff',
theme_color: '#027be3',
icons: [
{
2024-05-21 13:26:04 +00:00
src: 'icons/icon-128x128.png',
sizes: '128x128',
type: 'image/png'
2019-08-26 16:15:41 +00:00
},
{
2024-05-21 13:26:04 +00:00
src: 'icons/icon-192x192.png',
sizes: '192x192',
type: 'image/png'
2019-08-26 16:15:41 +00:00
},
{
2024-05-21 13:26:04 +00:00
src: 'icons/icon-256x256.png',
sizes: '256x256',
type: 'image/png'
2019-08-26 16:15:41 +00:00
},
{
2024-05-21 13:26:04 +00:00
src: 'icons/icon-384x384.png',
sizes: '384x384',
type: 'image/png'
2019-08-26 16:15:41 +00:00
},
{
2024-05-21 13:26:04 +00:00
src: 'icons/icon-512x512.png',
sizes: '512x512',
type: 'image/png'
2019-08-26 16:15:41 +00: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'
}
}
}
})