UNPKG

next-sitemap

Version:
60 lines (59 loc) 1.6 kB
import { overwriteMerge } from './merge.js'; export const defaultSitemapTransformer = async (config, loc) => { return { loc, lastmod: config?.autoLastmod ? new Date().toISOString() : undefined, changefreq: config?.changefreq, priority: config?.priority, alternateRefs: config.alternateRefs ?? [], trailingSlash: config?.trailingSlash, }; }; export const defaultRobotsTxtTransformer = async (_, text) => text; export const defaultConfig = { sourceDir: '.next', outDir: 'public', priority: 0.7, sitemapBaseFileName: 'sitemap', changefreq: 'daily', sitemapSize: 5000, autoLastmod: true, exclude: [], transform: defaultSitemapTransformer, generateIndexSitemap: true, robotsTxtOptions: { transformRobotsTxt: defaultRobotsTxtTransformer, policies: [ { userAgent: '*', allow: '/', }, ], additionalSitemaps: [], }, }; /** * Set a preset for static export mode * @param config * @returns */ export const getStaticExportConfigPreset = (config) => { // Return empty preset for non static export if (config?.output !== 'export') { return {}; } return { sourceDir: 'out', outDir: 'out', }; }; /** * Get default config * @param config * @returns */ export const withDefaultConfig = (config) => { // Add output.export config const staticExportConfig = getStaticExportConfigPreset(config); return overwriteMerge(defaultConfig, staticExportConfig, config); };