Skip to content
Snippets Groups Projects
Select Git revision
  • 746ce868a18124d6898514262c9e76119f981302
  • master default protected
  • replication_test
  • dev protected
  • release-1.10 protected
  • 556-usage-statistics
  • 553-semantic-recommendation-2
  • 553-semantic-recommendation
  • release-1.9 protected
  • 551-init-broker-service-permissions
  • 549-test-oai-pmh
  • 545-saving-multiple-times-breaks-pid-metadata
  • 499-standalone-compute-service-2
  • 539-load-tests
  • hotfix/helm-chart
  • luca_ba_new_interface
  • 534-bug-when-adding-access-to-user-that-is-not-registered-at-dashboard-service
  • release-1.8 protected
  • 533-integrate-semantic-recommendation
  • feature/openshift
  • 518-spark-doesn-t-map-the-headers-correct
  • v1.10.4 protected
  • v1.10.3 protected
  • v1.10.2 protected
  • v1.10.1 protected
  • v1.10.0-rc13 protected
  • v1.10.0-rc12 protected
  • v1.10.0-rc11 protected
  • v1.10.0-rc10 protected
  • v1.10.0-rc9 protected
  • v1.10.0-rc8 protected
  • v1.10.0-rc7 protected
  • v1.10.0-rc6 protected
  • v1.10.0-rc5 protected
  • v1.10.0-rc4 protected
  • v1.10.0-rc3 protected
  • v1.10.0-rc2 protected
  • v1.10.0rc1 protected
  • v1.10.0rc0 protected
  • v1.10.0 protected
  • v1.9.3 protected
41 results

nuxt.config.js

Blame
  • nuxt.config.js 3.20 KiB
    import path from 'path'
    import colors from 'vuetify/es5/util/colors'
    
    // pick env vars from .env file or get them passed through docker-compose
    require('dotenv').config()
    
    if (process.env.SANDBOX) {
      console.info('[FDA] Running in sandbox environment')
    }
    
    export default {
      target: 'server',
      ssr: false,
    
      telemetry: false,
    
      server: {
        port: 3000,
        host: '0.0.0.0',
        timing: false
      },
    
      head: {
        titleTemplate: '%s - Database Repository (Sandbox)',
        title: 'FAIR Data Austria',
        meta: [
          { charset: 'utf-8' },
          { name: 'viewport', content: 'width=device-width, initial-scale=1' },
          { hid: 'description', name: 'description', content: '' }
        ],
        link: [
          { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
        ]
      },
    
      css: [
        '@assets/globals.scss'
      ],
    
      plugins: [
        { src: '~/plugins/toast', ssr: false },
        { src: '~/plugins/vendors', ssr: false },
        { src: '~/plugins/axios' },
        { src: '~/plugins/vuex-persist.js', mode: 'client' }
      ],
    
      // Auto import components (https://go.nuxtjs.dev/config-components)
      components: true,
    
      buildModules: [
        '@nuxtjs/eslint-module',
        '@nuxtjs/vuetify'
      ],
    
      modules: [
        '@nuxtjs/proxy',
        '@nuxtjs/axios',
        ['nuxt-i18n', {
          locales: [
            { code: 'de', file: 'de-DE.js', name: 'Deutsch' },
            { code: 'en', file: 'en-US.js', name: 'English' }
          ],
          lazy: true,
          langDir: 'lang/',
          defaultLocale: 'en'
        }]
      ],
    
      axios: {
        proxy: true
      },
    
      publicRuntimeConfig: {
        brokerUsername: process.env.BROKER_USERNAME || 'fda',
        brokerPassword: process.env.BROKER_PASSWORD || 'fda',
        sandbox: process.env.SANDBOX || false,
        sharedFilesystem: process.env.SHARED_FILESYSTEM || '/tmp',
        version: process.env.VERSION || 'latest',
        logo: process.env.LOGO || '/logo.png',
        mailVerify: process.env.MAIL_VERIFY || false,
        tokenMax: process.env.TOKEN_MAX || 5
      },
    
      proxy: {
        '/api': process.env.API || 'http://localhost:9095',
        '/pid': {
          target: process.env.API + '/api' || 'http://localhost:9095/api',
          changeOrigin: true,
          pathRewrite: {
            '^/pid': '/pid'
          }
        },
        '/search': {
          target: process.env.SEARCH || 'http://localhost:9200',
          changeOrigin: true,
          pathRewrite: {
            '^/search': ''
          }
        }
      },
    
      serverMiddleware: [
        { path: '/server-middleware', handler: path.resolve(__dirname, 'server-middleware/index.js') }
      ],
    
      vuetify: {
        customVariables: ['~/assets/variables.scss'],
        theme: {
          dark: false,
          themes: {
            light: {
              primary: colors.blue.darken2,
              accent: colors.amber.darken3,
              secondary: colors.blueGrey.base,
              info: colors.amber.lighten4,
              code: colors.grey.lighten4,
              warning: colors.amber.base,
              error: colors.red.base,
              banner: colors.red.lighten2,
              success: colors.teal.base
            },
            dark: {
              anchor: colors.blue.darken2
            }
          }
        }
      },
    
      build: {
        babel: {
          presets (env, [preset, options]) {
            return [
              ['@babel/preset-env', {
                targets: {
                  node: 'current'
                }
              }]
            ]
          }
        }
      }
    }