0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2025-01-20 22:12:38 -05:00

Added OUTPUT dir to sitemap build command (#8824)

This commit is contained in:
Adam McKerlie 2023-10-17 10:44:15 -04:00 committed by GitHub
parent 11f45b9a32
commit 10b103820e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 7 deletions

View file

@ -0,0 +1,5 @@
---
'@astrojs/sitemap': patch
---
Display output directory in the sitemap build result

View file

@ -1,5 +1,6 @@
import type { AstroConfig, AstroIntegration } from 'astro';
import { fileURLToPath } from 'node:url';
import path from 'node:path';
import {
EnumChangefreq,
simpleSitemapAndIndex,
@ -99,8 +100,8 @@ const createPlugin = (options?: SitemapOptions): AstroIntegration => {
.map((p) => {
if (p.pathname !== '' && !finalSiteUrl.pathname.endsWith('/'))
finalSiteUrl.pathname += '/';
const path = finalSiteUrl.pathname + p.pathname;
return new URL(path, finalSiteUrl).href;
const fullPath = finalSiteUrl.pathname + p.pathname;
return new URL(fullPath, finalSiteUrl).href;
});
let routeUrls = routes.reduce<string[]>((urls, r) => {
@ -116,9 +117,9 @@ const createPlugin = (options?: SitemapOptions): AstroIntegration => {
* remove the initial slash from relative pathname
* because `finalSiteUrl` always has trailing slash
*/
const path = finalSiteUrl.pathname + r.generate(r.pathname).substring(1);
const fullPath = finalSiteUrl.pathname + r.generate(r.pathname).substring(1);
let newUrl = new URL(path, finalSiteUrl).href;
let newUrl = new URL(fullPath, finalSiteUrl).href;
if (config.trailingSlash === 'never') {
urls.push(newUrl);
@ -169,15 +170,15 @@ const createPlugin = (options?: SitemapOptions): AstroIntegration => {
return;
}
}
const destDir = fileURLToPath(dir);
await simpleSitemapAndIndex({
hostname: finalSiteUrl.href,
destinationDir: fileURLToPath(dir),
destinationDir: destDir,
sourceData: urlData,
limit: entryLimit,
gzip: false,
});
logger.success(`\`${OUTFILE}\` is created.`);
logger.success(`\`${OUTFILE}\` created at \`${path.relative(process.cwd(), destDir)}\``);
} catch (err) {
if (err instanceof ZodError) {
logger.warn(formatConfigErrorMessage(err));