// Configuration for your app // https://quasar.dev/quasar-cli/quasar-conf-js module.exports = function (ctx) { return { // app boot file (/src/boot) // --> boot files are part of "main.js" // boot used to be plugins boot: ['socket'], // uci-consumer-client websocket css: [ 'app.styl' ], 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', 'QDrawer', 'QPageContainer', 'QPage', 'QToolbar', 'QToolbarTitle', 'QBtn', 'QIcon', 'QList', 'QItem', 'QItemSection', 'QItemLabel', 'QInput', 'QSelect', 'QField', 'QFooter', 'QTooltip', 'QBadge', 'QScrollArea' ], directives: [ 'Ripple' ], // Quasar plugins plugins: [ 'Notify' ] }, supportIE: false, build: { // added to support communication with websocket and backend database env: ctx.dev // pass environment variable to browser client ? { // so on dev we'll have DBURL: JSON.stringify(process.env.DBURL || 'ws://localhost:3030'), WSS: JSON.stringify(process.env.WSS || 'ws://localhost:8090') } : { // and on build (production): DBURL: JSON.stringify(process.env.DBURL || 'ws://switches.kebler.net:3030'), WSS: JSON.stringify(process.env.WSS || 'ws://relays.kebler.net:8090') }, scopeHoisting: true, vueRouterMode: 'history', // vueCompiler: true, // gzip: true, // analyze: true, // extractCSS: false, extendWebpack (cfg) { cfg.module.rules.push({ enforce: 'pre', test: /\.(js|vue)$/, loader: 'eslint-loader', exclude: /node_modules/, options: { formatter: require('eslint').CLIEngine.getFormatter('stylish') } }) } }, devServer: { // https: true, // port: 8080, open: true // opens browser window automatically }, // animations: 'all', // --- includes all animations animations: [], ssr: { pwa: false }, pwa: { // workboxPluginMode: 'InjectManifest', // workboxOptions: {}, // only for NON InjectManifest manifest: { // name: 'Quasar App', // short_name: 'Quasar App', // description: 'a test websocket client for uci websocket server', display: 'standalone', orientation: 'portrait', background_color: '#ffffff', theme_color: '#027be3', icons: [ { 'src': 'statics/icons/icon-128x128.png', 'sizes': '128x128', 'type': 'image/png' }, { 'src': 'statics/icons/icon-192x192.png', 'sizes': '192x192', 'type': 'image/png' }, { 'src': 'statics/icons/icon-256x256.png', 'sizes': '256x256', 'type': 'image/png' }, { 'src': 'statics/icons/icon-384x384.png', 'sizes': '384x384', 'type': 'image/png' }, { 'src': 'statics/icons/icon-512x512.png', 'sizes': '512x512', 'type': 'image/png' } ] } }, cordova: { // id: 'org.cordova.quasar.app', // 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: 'test-client-new' } } } }