import colors from 'vuetify/es5/util/colors' import i18n from './i18n' export default { mode: 'spa', /* ** Headers of the page */ head: { titleTemplate: '%s - ' + process.env.npm_package_name, title: process.env.npm_package_name || '', meta: [ { charset: 'utf-8' }, { name: 'viewport', content: 'width=device-width, initial-scale=1' }, { hid: 'description', name: 'description', content: process.env.npm_package_description || '' } ], script: [ { src: 'https://use.fontawesome.com/releases/v5.0.6/js/all.js' } ], link: [ { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }, { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Material+Icons' } ] }, server: { host: '0.0.0.0' // default: localhost }, env: { baseUrl: '/v1' }, /* ** Customize the progress-bar color */ loading: { color: '#fff' }, /* ** Global CSS */ css: [ ], /* ** Plugins to load before mounting the App */ plugins: [ '~/plugins/filters.js', '~/plugins/vue-youtube.js', '~/plugins/vue-shortkey.js', '~/plugins/services.ts', '~/plugins/color.ts', '~/plugins/role.ts' ], /* ** Nuxt.js modules */ modules: [ ['nuxt-i18n', i18n], '@nuxtjs/vuetify', // Doc: https://axios.nuxtjs.org/usage '@nuxtjs/axios', '@nuxtjs/eslint-module' ], buildModules: [ '@nuxt/typescript-build', '@nuxtjs/composition-api/module', ['@nuxtjs/google-analytics', { id: process.env.GOOGLE_TRACKING_ID }] ], /* ** Axios module configuration ** See https://axios.nuxtjs.org/options */ axios: { proxy: true }, proxy: { // Use a fake value for use at build-time '/v1/': { target: process.env.API_URL || 'http://127.0.0.1:8000' } }, /* ** vuetify module configuration ** https://github.com/nuxt-community/vuetify-module */ vuetify: { theme: { primary: colors.blue.darken2, accent: colors.grey.darken3, secondary: colors.amber.darken3, info: colors.teal.lighten1, warning: colors.amber.base, error: colors.deepOrange.accent4, success: colors.green.accent3, themes: { dark: { primary: '#21CFF3', accent: '#FF4081', secondary: '#ffe18d', success: '#4CAF50', info: '#2196F3', warning: '#FB8C00', error: '#FF5252' }, light: { primary: '#1976D2', accent: '#e91e63', secondary: '#30b1dc', success: '#4CAF50', info: '#2196F3', warning: '#FB8C00', error: '#FF5252' } } } }, /* ** Build configuration */ build: { /* ** You can extend webpack config here */ publicPath: process.env.PUBLIC_PATH || '/_nuxt/', extend(config, ctx) { // config.module.rules.push({ // test: /\.(txt|csv|conll|jsonl)$/i, // loader: 'file-loader', // options: { // name: '[path][name].[ext]' // } // }) config.module.rules.push({ enforce: 'pre', test: /\.(txt|csv|json|jsonl)$/, loader: 'raw-loader', exclude: /(node_modules)/ }) config.module.rules.push({ test: /\.(ogg|mp3|wav|mpe?g)$/i, loader: 'file-loader', options: { name: '[path][name].[ext]' } }) }, } }