import { Configuration } from '@nuxt/types' ; const nuxtConfig = { buildModules : [ '@nuxt/typescript-build' ] , mode : 'universal' , srcDir : 'src' , env : { appUrl : process . env . APP_URL || 'http://localhost:3000' } , router : { middleware : [ 'authCookieMiddleware' , 'redirectMiddleware' ] , extendRoutes ( routes , resolve ) { routes . push ( { name : 'original_error' , path : '/error' , props : true , component : resolve ( __dirname , 'src/pages/error.vue' ) } ) ; } } , render : { compressor : ( _req , _res , next ) => { next ( ) ; } } , serverMiddleware : [ 'server/bff' ] , head : { title : 'nuxt-boilerplate' , meta : [ { charset : 'utf-8' } , { name : 'viewport' , content : 'width=device-width, initial-scale=1' } , { hid : 'description' , name : 'description' , content : 'Nuxt.js Boilerplate' } ] , link : [ { rel : 'icon' , type : 'image/x-icon' , href : '/favicon.ico' } ] } , loading : { color : '#fff' } , css : [ ] , plugins : [ ] , modules : [ '@nuxtjs/axios' , '@nuxtjs/bulma' ] , axios : { } , build : { postcss : { preset : { features : { customProperties : false } } } , extend ( config , ctx ) { if ( ctx . isDev && ctx . isClient ) { if ( config . module !== undefined ) { config . module . rules . push ( { enforce : 'pre' , test : /\.(js|vue|ts)$/ , loader : 'eslint-loader' , exclude : /(node_modules)/ } ) ; } } } } } ; export default nuxtConfig ;