/// interface NSArgs { news: boolean; video: boolean; xhtml: boolean; image: boolean; custom?: string[]; } interface RobotOption { /** * User-agent value. * Example: Googlebot */ userAgent: string; /** * Allowed routes for corresponding User-agent. * Example: '/' */ allow?: string | string[]; /** * Disallowed routes for corresponding User-agent. * Example: ['/admin', '/confidential'] */ disallow?: string | string[]; /** * Crawl-delay option for robot. * Example: 2 */ crawlDelay?: number; /** * Clean-param option for robot. * Example: 'ref /articles/' */ cleanParam?: string; } type RoutesOptionMap = T | { [key: string]: T; }; /** * Plugin options. */ interface Options { /** * Base URI * @default 'http://localhost/' */ hostname: string; /** * Array of strings with dynamic routes. * Example: ['/routes1', '/route2/sub-route'] * @default [] */ dynamicRoutes: string[]; /** * Array of strings with excluded routes. * Example: ['/routes1', '/route2/sub-route'] * @default [] */ exclude: string[]; /** * Array of i18n languages. * Example: { * defaultLanguage: 'fr' * languages: ['fr', 'en', 'es'] * strategy: 'suffix' | 'prefix' * } * @default undefined, strategy: 'suffix' */ i18n?: { defaultLanguage?: string; languages: string[]; strategy?: 'suffix' | 'prefix'; }; /** * Other sitemaps paths * Example: ['sitemap_1.xml', 'path/sitemap_2.xml', 'https://site.com/sitemap.xml'] * @default [] */ externalSitemaps: string[]; /** * String with base path. * Example: '/mysubpath' * @default '' */ basePath: string; /** * Output directory * @default 'dist' */ outDir: string; /** * File extensions that need to be generated. * Example: ['html', 'md'] * @default 'html' */ extensions: string | string[]; /** * Change frequency option for sitemap * @default 'daily' */ changefreq: string | RoutesOptionMap; /** * Priority option for sitemap * @default 1 */ priority: number | RoutesOptionMap; /** * Last modification option for sitemap * @default new Date() */ lastmod: Date | RoutesOptionMap; /** * Converts XML into a human-readable format * @default false */ readable: boolean; /** * Enables robots.txt file generation * @default true */ generateRobotsTxt: boolean; /** * Robots policy * @default [{ userAgent: '*', allow: '/' }] */ robots: RobotOption[]; /** * Trim the xml namespace * See https://www.npmjs.com/package/sitemap#options-you-can-pass * @default undefined */ xmlns?: NSArgs; } type UserOptions = Partial; declare function sitemapPlugin(options?: UserOptions): { name: string; closeBundle(): void; transformIndexHtml(): { tag: string; injectTo: "head" | "body" | "head-prepend" | "body-prepend"; attrs: { rel: string; type: string; title: string; href: string; }; }[]; }; export { sitemapPlugin as default };