next.config.js: get favicon files from fs for rewrite

This commit is contained in:
vchikalkin 2022-12-27 05:52:17 +03:00
parent e7f7d5c336
commit 1df4b345f1

View File

@ -3,6 +3,7 @@
const { withPlugins } = require('next-composed-plugins'); const { withPlugins } = require('next-composed-plugins');
const withLess = require('next-with-less'); const withLess = require('next-with-less');
const withGraphQL = require('next-plugin-graphql'); const withGraphQL = require('next-plugin-graphql');
const fs = require('fs');
const { COLORS_DEV, COLORS_PROD } = require('./constants/colors'); const { COLORS_DEV, COLORS_PROD } = require('./constants/colors');
const envSchema = require('./config/schema/env'); const envSchema = require('./config/schema/env');
const urls = require('./constants/urls'); const urls = require('./constants/urls');
@ -12,11 +13,12 @@ const { serverRuntimeConfigSchema } = require('./config/schema/runtime-config');
const env = envSchema.parse(process.env); const env = envSchema.parse(process.env);
const favicons = fs.readdirSync('./public/favicon/prod');
const faviconSubPath = env.USE_DEV_COLORS ? '/favicon/dev' : '/favicon/prod'; const faviconSubPath = env.USE_DEV_COLORS ? '/favicon/dev' : '/favicon/prod';
function buildFaviconRewrite(source) { function buildFaviconRewrite(source) {
return { return {
source, source,
destination: String.prototype.concat(env.BASE_PATH, faviconSubPath, source), destination: String.prototype.concat(faviconSubPath, source),
}; };
} }
@ -49,12 +51,7 @@ const nextConfig = {
source: urls.URL_CORE_FINGAP_PROXY, source: urls.URL_CORE_FINGAP_PROXY,
destination: env.URL_CORE_FINGAP_DIRECT, destination: env.URL_CORE_FINGAP_DIRECT,
}, },
buildFaviconRewrite('/apple-touch-icon.png'), ...favicons.map((fileName) => buildFaviconRewrite(`/${fileName}`)),
buildFaviconRewrite('/favicon-32x32.png'),
buildFaviconRewrite('/favicon-16x16.png'),
buildFaviconRewrite('/android-chrome-192x192.png'),
buildFaviconRewrite('/android-chrome-512x512.png'),
buildFaviconRewrite('/safari-pinned-tab.svg'),
]; ];
}, },
publicRuntimeConfig: publicRuntimeConfigSchema.parse(env), publicRuntimeConfig: publicRuntimeConfigSchema.parse(env),