Files
freeplanet/quasar.conf.js

256 lines
6.6 KiB
JavaScript
Raw Normal View History

2018-10-12 16:42:54 +02:00
// Configuration for your app
2018-10-13 19:14:58 +02:00
const path = require('path');
const helpers = require('./helpers');
2018-11-05 22:28:59 +01:00
const webpack = require('webpack')
const envparser = require('./config/envparser')
const extendTypescriptToWebpack = (config) => {
config.resolve
.extensions
.add('.ts', '.js', '.vue')
config.resolve
.alias
.set('@components', helpers.root('src/components/index.ts'))
// .set('@components', helpers.root('src/components'))
2019-03-22 15:32:32 +01:00
.set('@views', helpers.root('src/views/index.ts'))
// .set('@views', helpers.root('src/components/views'))
.set('@src', helpers.root('src'))
.set('@css', helpers.root('src/statics/css/variables.scss'))
.set('@icons', helpers.root('src/statics/icons/*'))
.set('@images', helpers.root('src/statics/images/*'))
.set('@classes', helpers.root('src/classes/index.ts'))
.set('@utils', helpers.root('src/utils/index.ts'))
.set('@utils', helpers.root('src/utils/*'))
.set('@router', helpers.root('src/router/index.ts'))
.set('@validators', helpers.root('src/utils/validators.ts'))
.set('@methods', helpers.root('src/utils/methods.ts'))
.set('@api', helpers.root('src/store/Api/index.ts'))
.set('@paths', helpers.root('src/store/Api/ApiRoutes.ts'))
.set('@types', helpers.root('src/typings/index.ts'))
.set('@store', helpers.root('src/store/index.ts'))
.set('@modules', helpers.root('src/store/Modules/index.ts'))
config.module
.rule('typescript')
.test(/\.tsx?$/)
.use('typescript')
.loader('ts-loader')
.options({
appendTsSuffixTo: [/\.vue$/],
onlyCompileBundledFiles: true
})
};
const extendHTMLToWebpack = (config) => {
config.resolve
.extensions
.add('.html');
config.module
.rule('html')
.test(/\.html?$/)
.use('html')
.loader('vue-html-loader')
};
2018-10-12 16:42:54 +02:00
module.exports = function (ctx) {
return {
htmlVariables: {
appName: 'FreePlanet',
appDescription: 'The first Real Social, Free, Fair and Equitable'
},
// Quasar looks for *.js files by default
sourceFiles: {
router: 'src/router/index.ts',
store: 'src/store/index.ts'
},
// app plugins (/src/plugins)
boot: ['vue-i18n', 'vue-meta', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'vue-idb', 'dragula', 'guard'],
2018-10-12 16:42:54 +02:00
css: [
'app.styl'
],
extras: [
2018-10-13 19:14:58 +02:00
'roboto-font',
'material-icons', // optional, you are not bound to it
'ionicons-v4',
// 'mdi-v3',
'fontawesome-v5'
2018-10-12 16:42:54 +02:00
],
supportIE: false,
aliases: {
quasar: path.resolve(__dirname, '../node_modules/@quasar/'),
src: path.resolve(__dirname, '../src'),
statics: path.resolve(__dirname, '../src/statics'),
components: path.resolve(__dirname, '../src/components')
},
2018-10-12 16:42:54 +02:00
build: {
showProgress: true,
2018-11-05 22:28:59 +01:00
env: envparser(),
2018-10-12 16:42:54 +02:00
scopeHoisting: true,
vueRouterMode: 'history',
vueCompiler: true,
gzip: false, // gzip true
analyze: false, // true
2018-10-12 16:42:54 +02:00
// extractCSS: false,
chainWebpack(config) {
extendTypescriptToWebpack(config);
// extendHTMLToWebpack(config);
config.resolve
.alias
.set('~', __dirname)
.set('@', helpers.root('src'))
// .set('env', helpers.root('config/helpers/env.js'))
config.module
.rule('template-engine')
.test(/\.pug$/)
.use('pug')
.loader('pug-plain-loader')
/*config.module
.rule('template-engine')
.test(/\.(gql|graphql)$/)
.loader('graphql-tag/loader') */
2018-10-12 16:42:54 +02:00
}
},
dev: {
env: require('./.env.development'),
},
2018-10-12 16:42:54 +02:00
devServer: {
https: false,
2019-07-10 11:37:00 +02:00
port: 8082,
open: false // opens browser window automatically
2018-10-12 16:42:54 +02:00
},
// framework: 'all' --- includes everything; for dev only!
2018-10-12 16:42:54 +02:00
framework: {
components: [
'QLayout',
'QDrawer',
'QItemSection',
'QHeader',
'QFooter',
2018-10-12 16:42:54 +02:00
'QPageContainer',
'QPage',
'QPopupProxy',
2018-10-12 16:42:54 +02:00
'QToolbar',
'QToolbarTitle',
'QBtn',
'QBtnDropdown',
2019-07-12 18:23:16 +02:00
'QColor',
2018-10-12 16:42:54 +02:00
'QIcon',
'QList',
'QItemLabel',
2018-10-12 16:42:54 +02:00
'QItem',
'QCard',
2019-07-12 18:23:16 +02:00
'QMarkupTable',
'QSpace',
'QDialog',
'QBadge',
'QForm',
'QCardSection',
2018-10-12 16:42:54 +02:00
'QCardActions',
'QField',
2018-10-20 18:56:31 +02:00
'QInput',
2018-10-12 16:42:54 +02:00
'QSelect',
'QMenu',
2018-10-13 19:14:58 +02:00
'QToggle',
'QFab',
'QInfiniteScroll',
'QAjaxBar',
'QChip',
'QExpansionItem',
2018-10-14 22:10:00 +02:00
'QCheckbox',
'QBanner',
2018-10-26 22:25:35 +02:00
'QInnerLoading',
'QSpinnerGears',
'QDate',
'QTime',
'QSlideTransition',
'QTable',
'QTh',
'QTr',
'QTd',
'QLinearProgress',
2019-01-29 00:48:04 +01:00
'QSlider',
'QPopupEdit',
'QCarousel',
'QCarouselControl',
2019-04-11 14:25:43 +02:00
'QCarouselSlide',
'QPageScroller',
'QAvatar',
'QImg',
'QSplitter',
2019-04-25 00:30:13 +02:00
'QRating',
2019-07-12 18:23:16 +02:00
'QParallax',
'QTab',
'QTabs',
'QTabPanels',
'QTabPanel',
'QTree',
2019-04-11 14:25:43 +02:00
'QSeparator'
2018-10-12 16:42:54 +02:00
],
directives: [
'Ripple',
'ClosePopup'
2018-10-12 16:42:54 +02:00
],
// Quasar plugins
plugins: [
'Meta',
'Dialog',
'Notify',
'Cookies',
'Loading'
2018-10-12 16:42:54 +02:00
],
iconSet: 'fontawesome-v5',
lang: 'it', // Quasar language
2018-10-12 16:42:54 +02:00
},
2019-03-13 18:11:26 +01:00
animations: 'all',
2018-10-12 16:42:54 +02:00
ssr: {
pwa: {
runtimeCaching: [
{
urlPattern: '/statics',
handler: 'networkFirst'
}
]
}
2018-10-12 16:42:54 +02:00
},
pwa: {
// runtimeCaching: [
// {
// urlPattern: '/statics',
// handler: 'networkFirst'
// }
// ],
// workboxPluginMode: 'GenerateSW',
2018-10-12 16:42:54 +02:00
workboxPluginMode: 'InjectManifest',
workboxOptions: {
2019-03-17 02:47:22 +01:00
// skipWaiting: true,
// clientsClaim: true
// swSrc: 'src/sw.js',
},
2018-10-12 16:42:54 +02:00
manifest: {
name: 'FreePlanet',
version: '0.0.14',
2018-12-10 11:38:22 +01:00
short_name: 'freeplanet',
2018-12-23 00:31:34 +01:00
description: 'Social project in order to connecting people each others (working in progress...)',
2018-10-12 16:42:54 +02:00
display: 'standalone',
orientation: 'portrait',
2019-01-09 00:31:16 +01:00
theme_color: '#ffffff',
2018-10-12 16:42:54 +02:00
background_color: '#ffffff',
icons: [
{
2019-01-09 00:31:16 +01:00
'src': 'statics/icons/android-chrome-192x192.png',
2018-10-12 16:42:54 +02:00
'sizes': '192x192',
'type': 'image/png'
},
{
2019-01-09 00:31:16 +01:00
'src': 'statics/icons/android-chrome-512x512',
2018-10-12 16:42:54 +02:00
'sizes': '512x512',
'type': 'image/png'
}
]
}
},
}
};