You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

174 lines
5.4 KiB

// const baseURL = function() {
// switch (process.env.FLYLOCAL_ENV) {
// case "prod":
// return process.env.PROD_URL;
// case "dev":
// return process.env.DEV_URL;
// case "local":
// return "http://" + process.env.LOCAL_IP + ":" + process.env.LOCAL_PORT;
// default:
// break;
// }
// };
export default {
// env: {
// baseURL: baseURL()
// },
// Global page headers: https://go.nuxtjs.dev/config-head
head: {
title: 'FlyLocal',
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: 'FlyLocal is the best way to find local airlines that fly throughout the great state of Alaska. Explore the \'Last Frontier\' with FlyLocal.' },
{ name: 'format-detection', content: 'telephone=no' },
{ itemprop: 'name', content: 'Small Planes, Big Experiences' },
{ itemprop: 'description', content: 'FlyLocal is the best way to find local airlines that fly throughout the great state of Alaska. Explore the \'Last Frontier\' with FlyLocal.' },
{ itemprop: 'image', content: 'https://flylocal.us' + '/screenshot.png' },
{ property: 'og:url', content: 'https://flylocal.us' },
{ property: 'og:type', content: 'website' },
{ property: 'og:title', content: 'Small Planes, Big Experiences' },
{ property: 'og:description', content: 'FlyLocal is the best way to find local airlines that fly throughout the great state of Alaska. Explore the \'Last Frontier\' with FlyLocal.' },
{ property: 'og:image', content: 'https://flylocal.us' + '/screenshot.png' },
{ name: 'twitter:card', content: 'summary_large_image' },
{ name: 'twitter:title', content: 'Small Planes, Big Experiences' },
{ name: 'twitter:description', content: 'FlyLocal is the best way to find local airlines that fly throughout the great state of Alaska. Explore the \'Last Frontier\' with FlyLocal.' },
{ name: 'twitter:image', content: 'https://flylocal.us' + '/screenshot.png' }
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
]
},
server: (process.env.NODE_ENV !== 'production') ? {
host: process.env.LOCAL_IP,
port: process.env.LOCAL_PORT
} : {},
serverMiddleware: [
{ path: '/', handler: '~/middleware/redirects.js' },
{ path: '/login', handler: '~/login'},
{ path: '/clickout', handler: '~/middleware/postRequestHandler.js' },
//{ path: '/flights', handler: '~/middleware/auth-guard.js'}
],
// Global CSS: https://go.nuxtjs.dev/config-css
css: [
'~assets/css/main.css'
],
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
plugins: [
{ src: '~/plugins/vue2-leaflet-markercluster.js', mode: 'client' },
'~plugins/v-mask.js',
'~plugins/vue-phone-number-input.js',
'~/plugins/env.js'
],
// Auto import components: https://go.nuxtjs.dev/config-components
components: true,
router: {
middleware: ['auth-guard'],
extendRoutes (routes, resolve) {
routes.push(
// don't need to specify these when there are no params
{
name: 'go-orig-dest',
path: '/go/:o/:d',
component: resolve(__dirname, 'pages/go.vue')
},
{
name: 'go-orig',
path: '/go/:o',
component: resolve(__dirname, 'pages/go.vue')
},
{
name: 'dates-orig-dest',
path: '/dates/:o/:d',
component: resolve(__dirname, 'pages/dates.vue')
},
{
name: 'flights-orig-dest-departure-time',
path: '/flights/:o/:d/:departure/:time',
component: resolve(__dirname, 'pages/flights.vue')
},
{
name: 'flights-orig-dest-departure',
path: '/flights/:o/:d/:departure',
component: resolve(__dirname, 'pages/flights.vue')
}
)
}
},
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
buildModules: [
// https://go.nuxtjs.dev/eslint
//'@nuxtjs/eslint-module',
// https://go.nuxtjs.dev/stylelint
'@nuxtjs/stylelint-module',
// https://go.nuxtjs.dev/tailwindcss
'@nuxtjs/tailwindcss',
'@nuxtjs/style-resources',
'@nuxtjs/dotenv' // (environment variables)
],
styleResources: {
scss: [
'~assets/scss/mixins.scss',
'~assets/scss/variables.scss'
]
},
// Modules: https://go.nuxtjs.dev/config-modules
modules: [
// https://go.nuxtjs.dev/axios
'@nuxtjs/axios',
// https://go.nuxtjs.dev/pwa
'@nuxtjs/pwa',
'nuxt-leaflet',
'nuxt-vue-select',
[
'@adinvadim/nuxt-segment-analytics',
{
id: (process.env.FLYLOCAL_ENV === 'prod') ? "QpcGXqVfScXUfRPbAGkbtyst6x5HNpRf" : "9dEbke7oGZjUCbF01hbcycoHxrpLvVBV",
useRouter: true
}
],
['cookie-universal-nuxt']
],
// Axios module configuration: https://go.nuxtjs.dev/config-axios
axios: {},
// PWA module configuration: https://go.nuxtjs.dev/pwa
pwa: {
manifest: {
lang: 'en'
}
},
// Build Configuration: https://go.nuxtjs.dev/config-build
build: {
extend (config, ctx) {
if (ctx.isDev) {
config.devtool = ctx.isClient ? 'source-map' : 'inline-source-map'
}
},
loaders: {
sass: {
implementation: require('sass')
},
scss: {
implementation: require('sass')
}
}
},
dev: process.env.NODE_ENV !== 'production'
}