Skip to content

Commit

Permalink
Added OUTPUT dir to sitemap build command (#8824)
Browse files Browse the repository at this point in the history
  • Loading branch information
silent1mezzo authored Oct 17, 2023
1 parent 11f45b9 commit 10b1038
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
5 changes: 5 additions & 0 deletions .changeset/funny-deers-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@astrojs/sitemap': patch
---

Display output directory in the sitemap build result
15 changes: 8 additions & 7 deletions packages/integrations/sitemap/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import type { AstroConfig, AstroIntegration } from 'astro';
import { fileURLToPath } from 'node:url';
import path from 'node:path';
import {
EnumChangefreq,
simpleSitemapAndIndex,
Expand Down Expand Up @@ -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) => {
Expand All @@ -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);
Expand Down Expand Up @@ -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));
Expand Down

0 comments on commit 10b1038

Please sign in to comment.