// 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: process.env.BASE_URL + '/screenshot.png' },
|
|
{ property: 'og:url', content: process.env.BASE_URL },
|
|
{ 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: process.env.BASE_URL + '/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: process.env.BASE_URL + '/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'
|
|
|
|
}
|