/* eslint-env node */ /* * 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/ */ const { configure } = require('quasar/wrappers'); const VueI18nPlugin = require('@intlify/unplugin-vue-i18n/vite'); const path = require('path'); module.exports = configure(function (/* ctx */) { return { eslint: { warnings: true, errors: true, }, boot: ['i18n', 'axios', 'vnDate', 'validations', 'quasar', 'quasar.defaults'], css: ['app.scss'], extras: ['roboto-font', 'material-icons-outlined', 'material-symbols-outlined'], build: { target: { browser: ['es2022', 'edge88', 'firefox78', 'chrome87', 'safari13.1'], node: 'node18', }, vueRouterMode: 'hash', rawDefine: { 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV), }, extendViteConf(viteConf) { delete viteConf.build.polyfillModulePreload; viteConf.build.modulePreload = { polyfill: false, }; }, alias: { composables: path.join(__dirname, './src/composables'), filters: path.join(__dirname, './src/filters'), }, vitePlugins: [ [ VueI18nPlugin({ runtimeOnly: false, include: [ path.resolve(__dirname, './src/i18n/locale/**'), path.resolve(__dirname, './src/pages/**/locale/**'), ], }), ], ], }, devServer: { server: { type: 'http', }, proxy: { '/api': { target: 'http://0.0.0.0:3000', logLevel: 'debug', changeOrigin: true, secure: false, }, }, open: false, }, framework: { config: { dark: 'auto', }, lang: 'en-GB', plugins: ['Notify', 'Dialog'], all: 'auto', autoImportComponentCase: 'pascal', }, animations: [], ssr: { pwa: false, prodPort: 3000, middlewares: ['render'], }, pwa: { workboxMode: 'generateSW', injectPwaMetaTags: true, swFilename: 'sw.js', manifestFilename: 'manifest.json', useCredentialsForManifestTag: false, }, cordova: {}, capacitor: { hideSplashscreen: true, }, electron: { inspectPort: 5858, bundler: 'packager', packager: {}, builder: { appId: 'salix-frontend', }, }, bex: { contentScripts: ['my-content-script'], }, }; });