2021-07-20 18:25:36 +00:00
/* eslint-disable @typescript-eslint/no-var-requires */
2021-07-20 18:24:05 +00:00
const withTM = require ( "next-transpile-modules" ) ( [ "react-timezone-select" ] ) ;
2021-04-26 12:01:21 +00:00
2021-06-07 16:38:46 +00:00
// TODO: Revisit this later with getStaticProps in App
if ( process . env . NEXTAUTH _URL ) {
2021-07-20 18:18:26 +00:00
process . env . BASE _URL = process . env . NEXTAUTH _URL . replace ( "/api/auth" , "" ) ;
2021-06-07 16:38:46 +00:00
}
2021-07-20 18:18:26 +00:00
if ( ! process . env . EMAIL _FROM ) {
console . warn (
"\x1b[33mwarn" ,
"\x1b[0m" ,
"EMAIL_FROM environment variable is not set, this may indicate mailing is currently disabled. Please refer to the .env.example file."
) ;
2021-05-27 22:10:20 +00:00
}
2021-06-08 15:24:06 +00:00
if ( process . env . BASE _URL ) {
2021-07-20 18:18:26 +00:00
process . env . NEXTAUTH _URL = process . env . BASE _URL + "/api/auth" ;
2021-06-08 15:24:06 +00:00
}
2021-05-27 22:10:20 +00:00
2021-05-04 20:31:15 +00:00
const validJson = ( jsonString ) => {
2021-07-20 18:18:26 +00:00
try {
const o = JSON . parse ( jsonString ) ;
if ( o && typeof o === "object" ) {
return o ;
2021-05-04 20:31:15 +00:00
}
2021-07-20 18:18:26 +00:00
} catch ( e ) {
console . error ( e ) ;
}
return false ;
} ;
2021-05-04 20:31:15 +00:00
2021-07-20 18:18:26 +00:00
if ( process . env . GOOGLE _API _CREDENTIALS && ! validJson ( process . env . GOOGLE _API _CREDENTIALS ) ) {
console . warn (
"\x1b[33mwarn" ,
"\x1b[0m" ,
'- Disabled \'Google Calendar\' integration. Reason: Invalid value for GOOGLE_API_CREDENTIALS environment variable. When set, this value needs to contain valid JSON like {"web":{"client_id":"<clid>","client_secret":"<secret>","redirect_uris":["<yourhost>/api/integrations/googlecalendar/callback>"]}. You can download this JSON from your OAuth Client @ https://console.cloud.google.com/apis/credentials.'
) ;
2021-05-04 20:31:15 +00:00
}
2021-04-26 12:01:21 +00:00
module . exports = withTM ( {
2021-04-28 17:26:24 +00:00
future : {
webpack5 : true ,
} ,
2021-04-07 20:05:23 +00:00
typescript : {
ignoreBuildErrors : true ,
} ,
2021-05-07 15:04:56 +00:00
async redirects ( ) {
return [
{
2021-07-20 18:18:26 +00:00
source : "/settings" ,
destination : "/settings/profile" ,
2021-05-07 15:04:56 +00:00
permanent : true ,
2021-07-20 18:18:26 +00:00
} ,
] ;
} ,
2021-04-26 12:01:21 +00:00
} ) ;