aboutsummaryrefslogtreecommitdiff
path: root/next.config.js
blob: 7920ac05c63075c496159b839d8b90459aa70db2 (plain) (blame)
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
/** @type {import('next').NextConfig} */
// const nextSafe = require("next-safe");

const withPWA = require("next-pwa")({
  dest: "public",
  register: true,
  disable: process.env.NODE_ENV === "development",
  skipWaiting: true,
});

module.exports = withPWA({
  reactStrictMode: true,
  webpack(config, options) {
    config.resolve.extensions.push(".ts", ".tsx");
    return config;
  },
  images: {
    unoptimized: true,
    remotePatterns: [
      {
        protocol: "https",
        hostname: "**.*.*",
      },
      {
        protocol: "https",
        hostname: "**.**.*.*",
      },
      {
        protocol: "https",
        hostname: "simkl.in",
      },
      {
        protocol: "https",
        hostname: "tenor.com",
      },
      {
        protocol: "https",
        hostname: "meionovel.id",
      },
    ],
  },
  // distDir: process.env.BUILD_DIR || ".next",
  // Uncomment this if you want to use Docker
  // output: "standalone",
  async redirects() {
    return [
      {
        source: "/donate",
        destination: "https://ko-fi.com/factiven",
        permanent: false,
        basePath: false,
      },
      {
        source: "/changelogs",
        destination: "https://github.com/Ani-Moopa/Moopa/releases",
        permanent: false,
        basePath: false,
      },
      {
        source: "/github",
        destination: "https://github.com/Ani-Moopa/Moopa",
        permanent: false,
        basePath: false,
      },
      {
        source: "/discord",
        destination: "https://discord.gg/v5fjSdKwr2",
        permanent: false,
        basePath: false,
      },
    ];
  },
  // async headers() {
  //   return [
  //     {
  //       // matching all API routes
  //       source: "/api/:path*",
  //       headers: [
  //         { key: "Access-Control-Allow-Credentials", value: "true" },
  //         {
  //           key: "Access-Control-Allow-Origin",
  //           value: "https://moopa.live",
  //         }, // replace this your actual origin
  //         {
  //           key: "Access-Control-Allow-Methods",
  //           value: "GET,DELETE,PATCH,POST,PUT",
  //         },
  //         {
  //           key: "Access-Control-Allow-Headers",
  //           value:
  //             "X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version",
  //         },
  //       ],
  //     },
  // {
  //   source: "/:path*",
  //   headers: nextSafe({
  //     contentTypeOptions: "nosniff",
  //     contentSecurityPolicy: {
  //       "base-uri": "'none'",
  //       "child-src": "'none'",
  //       "connect-src": [
  //         "'self'",
  //         "webpack://*",
  //         "https://graphql.anilist.co/",
  //         "https://api.aniskip.com/",
  //         "https://m3u8proxy.moopa.workers.dev/",
  //       ],
  //       "default-src": "'self'",
  //       "font-src": [
  //         "'self'",
  //         "https://cdnjs.cloudflare.com/",
  //         "https://fonts.gstatic.com/",
  //       ],
  //       "form-action": "'self'",
  //       "frame-ancestors": "'none'",
  //       "frame-src": "'none'",
  //       "img-src": [
  //         "'self'",
  //         "https://s4.anilist.co",
  //         "data:",
  //         "https://media.kitsu.io",
  //         "https://artworks.thetvdb.com",
  //         "https://img.moopa.live",
  //         "https://meo.comick.pictures",
  //         "https://kitsu-production-media.s3.us-west-002.backblazeb2.com",
  //       ],
  //       "manifest-src": "'self'",
  //       "media-src": ["'self'", "blob:"],
  //       "object-src": "'none'",
  //       "prefetch-src": false,
  //       "script-src": [
  //         "'self'",
  //         "https://static.cloudflareinsights.com",
  //         "'unsafe-inline'",
  //         "'unsafe-eval'",
  //       ],

  //       "style-src": [
  //         "'self'",
  //         "'unsafe-inline'",
  //         "https://cdnjs.cloudflare.com",
  //         "https://fonts.googleapis.com",
  //       ],
  //       "worker-src": "'self'",
  //       mergeDefaultDirectives: false,
  //       reportOnly: false,
  //     },
  //     frameOptions: "DENY",
  //     permissionsPolicy: false,
  //     // permissionsPolicyDirectiveSupport: ["proposed", "standard"],
  //     isDev: false,
  //     referrerPolicy: "no-referrer",
  //     xssProtection: "1; mode=block",
  //   }),
  // },
  //   ];
  // },
});