mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2024-12-23 07:33:57 -06:00
322 lines
9.5 KiB
JavaScript
322 lines
9.5 KiB
JavaScript
/*
|
|
* quasar.conf.js
|
|
* Copyright (c) 2022 james@firefly-iii.org
|
|
*
|
|
* This file is part of Firefly III (https://github.com/firefly-iii).
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Affero General Public License as
|
|
* published by the Free Software Foundation, either version 3 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Affero General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Affero General Public License
|
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
/*
|
|
* 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 { configure } = require('quasar/wrappers');
|
|
|
|
module.exports = configure(function (ctx) {
|
|
return {
|
|
// https://quasar.dev/quasar-cli/supporting-ts
|
|
supportTS: false,
|
|
|
|
// 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: [
|
|
'i18n',
|
|
'axios',
|
|
],
|
|
|
|
// https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
|
|
css: [
|
|
'app.scss'
|
|
],
|
|
|
|
// https://github.com/quasarframework/quasar/tree/dev/extras
|
|
extras: [
|
|
// 'ionicons-v4',
|
|
// 'mdi-v5',
|
|
'fontawesome-v6',
|
|
// 'eva-icons',
|
|
// 'themify',
|
|
// 'line-awesome',
|
|
// '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
|
|
],
|
|
|
|
// Full list of options: https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-build
|
|
build: {
|
|
vueRouterMode: 'hash', // available values: 'hash', 'history'
|
|
|
|
// transpile: false,
|
|
publicPath: '/v3/',
|
|
distDir: '../public/v3',
|
|
|
|
|
|
// 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: true, // https://quasar.dev/options/rtl-support
|
|
// preloadChunks: true,
|
|
// showProgress: false,
|
|
// gzip: true,
|
|
// 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 */) {
|
|
//
|
|
},
|
|
},
|
|
|
|
// Full list of options: https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-devServer
|
|
devServer: {
|
|
server: {
|
|
type: 'https'
|
|
},
|
|
port: 8080,
|
|
host: 'firefly-dev.sd.local',
|
|
open: false, // opens browser window automatically
|
|
proxy: [
|
|
{
|
|
context: ['/sanctum', '/api'],
|
|
target: 'https://firefly.sd.local', // Laravel Homestead end-point
|
|
// avoid problems with session and XSRF cookies
|
|
// When using capacitor, use the IP of the dev server streaming the app
|
|
// For SPA and PWA use localhost, given that the app is streamed on that host
|
|
// xxx address is your machine current IP address
|
|
cookieDomainRewrite:
|
|
ctx.modeName === 'capacitor' ? '10.0.0.1' : '.sd.local',
|
|
changeOrigin: true,
|
|
}
|
|
]
|
|
},
|
|
|
|
|
|
// https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-framework
|
|
framework: {
|
|
config: {
|
|
dark: 'auto'
|
|
},
|
|
|
|
lang: 'en-US', // Quasar language pack
|
|
iconSet: 'fontawesome-v6',
|
|
|
|
// For special cases outside of where the auto-import strategy 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: [
|
|
'Dialog',
|
|
'LocalStorage',
|
|
]
|
|
},
|
|
|
|
// animations: 'all', // --- includes all animations
|
|
// https://quasar.dev/options/animations
|
|
animations: [],
|
|
|
|
// https://quasar.dev/quasar-cli/developing-ssr/configuring-ssr
|
|
ssr: {
|
|
pwa: false,
|
|
|
|
// manualStoreHydration: true,
|
|
// manualPostHydrationTrigger: true,
|
|
|
|
prodPort: 3000, // The default port that the production server should use
|
|
// (gets superseded if process.env.PORT is specified at runtime)
|
|
|
|
maxAge: 1000 * 60 * 60 * 24 * 30,
|
|
// Tell browser when a file from the server should expire from cache (in ms)
|
|
|
|
chainWebpackWebserver (/* chain */) {
|
|
//
|
|
},
|
|
|
|
middlewares: [
|
|
ctx.prod ? 'compression' : '',
|
|
'render' // keep this as last one
|
|
]
|
|
},
|
|
|
|
// https://quasar.dev/quasar-cli/developing-pwa/configuring-pwa
|
|
pwa: {
|
|
workboxPluginMode: 'GenerateSW', // 'GenerateSW' or 'InjectManifest'
|
|
workboxOptions: {}, // only for GenerateSW
|
|
|
|
// for the custom service worker ONLY (/src-pwa/custom-service-worker.[js|ts])
|
|
// if using workbox in InjectManifest mode
|
|
chainWebpackCustomSW (/* chain */) {
|
|
//
|
|
},
|
|
|
|
manifest: {
|
|
name: 'Firefly III',
|
|
short_name: 'Firefly III',
|
|
description: 'Personal Finances Manager',
|
|
start_url: '/',
|
|
display: 'standalone',
|
|
orientation: 'portrait',
|
|
theme_color: "#1e6581",
|
|
background_color: "#1e6581",
|
|
icons: [
|
|
{
|
|
"src": "/maskable72.png",
|
|
"sizes": "72x72",
|
|
"type": "image/png",
|
|
"scope": "maskable"
|
|
},
|
|
{
|
|
"src": "/maskable76.png",
|
|
"sizes": "76x76",
|
|
"type": "image/png",
|
|
"scope": "maskable"
|
|
},
|
|
{
|
|
"src": "/maskable96.png",
|
|
"sizes": "96x96",
|
|
"type": "image/png",
|
|
"scope": "maskable"
|
|
},
|
|
{
|
|
"src": "/maskable120.png",
|
|
"sizes": "120x120",
|
|
"type": "image/png",
|
|
"scope": "maskable"
|
|
},
|
|
{
|
|
"src": "/maskable128.png",
|
|
"sizes": "128x128",
|
|
"type": "image/png",
|
|
"scope": "maskable"
|
|
},
|
|
{
|
|
"src": "/maskable144.png",
|
|
"sizes": "144x144",
|
|
"type": "image/png",
|
|
"scope": "maskable"
|
|
},
|
|
{
|
|
"src": "/maskable152.png",
|
|
"sizes": "152x152",
|
|
"type": "image/png",
|
|
"scope": "maskable"
|
|
},
|
|
{
|
|
"src": "/maskable180.png",
|
|
"sizes": "180x180",
|
|
"type": "image/png",
|
|
"scope": "maskable"
|
|
},
|
|
{
|
|
"src": "/android-chrome-192x192.png",
|
|
"sizes": "192x192",
|
|
"type": "image/png",
|
|
"scope": "any"
|
|
},
|
|
{
|
|
"src": "/maskable192.png",
|
|
"sizes": "192x192",
|
|
"type": "image/png",
|
|
"scope": "maskable"
|
|
},
|
|
{
|
|
"src": "/maskable384.png",
|
|
"sizes": "384x384",
|
|
"type": "image/png",
|
|
"scope": "maskable"
|
|
},
|
|
{
|
|
"src": "/android-chrome-512x512.png",
|
|
"sizes": "512x512",
|
|
"type": "image/png",
|
|
"scope": "any"
|
|
},
|
|
{
|
|
"src": "/maskable512.png",
|
|
"sizes": "512x512",
|
|
"type": "image/png",
|
|
"scope": "maskable"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
|
|
// 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: 'firefly-iii'
|
|
},
|
|
|
|
// "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
|
|
chainWebpack (/* chain */) {
|
|
// do something with the Electron main process Webpack cfg
|
|
// extendWebpackMain also available besides this chainWebpackMain
|
|
},
|
|
|
|
// "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
|
|
chainWebpackPreload (/* chain */) {
|
|
// do something with the Electron main process Webpack cfg
|
|
// extendWebpackPreload also available besides this chainWebpackPreload
|
|
},
|
|
}
|
|
}
|
|
});
|