-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnext.config.js
92 lines (87 loc) · 2.93 KB
/
next.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/** @type {import('next').NextConfig} */
const { buildCspHeader } = require('@navikt/nav-dekoratoren-moduler/ssr');
const { version } = require('./package.json');
const appDirectives = {
'connect-src': ["'self'", process.env.TELEMETRY_URL],
'font-src': [],
'script-src': [],
'script-src-elem': ["'self'"],
'style-src-elem': ["'self'"],
'img-src': ["'self'", 'data:', 'blob:']
};
const nextConfig = {
async headers() {
const csp = await buildCspHeader(appDirectives, { env: process.env.ENVIRONMENT });
return [
{
source: '/:path*',
headers: [
{
key: 'Content-Security-Policy',
value: csp
}
]
},
{
source: '/api/:path*',
headers: [
{
key: 'Cache-Control',
value: 'private, no-cache, no-store, max-age=0, must-revalidate'
}
]
}
];
},
poweredByHeader: false,
reactStrictMode: true,
output: 'standalone',
basePath: '/im-dialog',
typescript: {
// !! WARN !!
// Dangerously allow production builds to successfully complete even if
// your project has type errors.
// !! WARN !!
ignoreBuildErrors: true
},
// i18n: {
// locales: ['no'],
// defaultLocale: 'no'
// },
serverRuntimeConfig: {
decoratorEnv: process.env.DECORATOR_ENV,
decoratorDisabled: process.env.DISABLE_DECORATOR,
tokenXWellKnownUrl: process.env.TOKEN_X_WELL_KNOWN_URL,
tokenXPrivateJwk: process.env.TOKEN_X_PRIVATE_JWK,
tokenXClientId: process.env.TOKEN_X_CLIENT_ID,
flexjarBackendClientId: process.env.FLEXJAR_BACKEND_CLIENT_ID,
idportenWellKnownUrl: process.env.IDPORTEN_WELL_KNOWN_URL,
idportenClientId: process.env.IDPORTEN_CLIENT_ID
},
publicRuntimeConfig: {
environment: process.env.ENVIRONMENT,
innsendingInntektsmeldingApi: process.env.INNSENDING_INNTEKTSMELDING_API,
inntektsmeldingKjenteDataApi: process.env.PREUTFYLT_INNTEKTSMELDING_API,
tidligereInntekterApi: process.env.INNTEKTSDATA_API,
tidligereInntekterSelvbestemtApi: process.env.INNTEKTSDATA_SELVBESTEMT_API,
logoutServiceUrl: process.env.LOGOUT_SERVICE_URL,
loginServiceUrl: process.env.LOGIN_SERVICE_URL,
arbeidsgiverListe: process.env.ARBEIDSGIVERLISTE_API,
kvitteringDataApi: process.env.KVITTERINGSDATA_API,
minSideArbeidsgiver: process.env.MIN_SIDE_ARBEIDSGIVER,
saksoversiktUrl: process.env.SAKSOVERSIKT_URL,
telemetryUrl: process.env.TELEMETRY_URL,
flexJarUrl: process.env.FLEXJAR_URL,
aktiveOrgnrApi: process.env.AKTIVE_ORGNR_API,
innsendingSelvbestemtInntektsmeldingApi: process.env.INNSENDING_SELVBESTEMT_INNTEKTSMELDING_API,
version,
loggingDisabled: process.env.DISABLE_DECORATOR
},
experimental: {
optimizePackageImports: ['@navikt/aksel-icons']
}
};
const withBundleAnalyzer = require('@next/bundle-analyzer')({
enabled: process.env.ANALYZE === 'true'
});
module.exports = withBundleAnalyzer(nextConfig);