From 7ab5ded41a9d223324c22c51f9b5d4f42bcf9e05 Mon Sep 17 00:00:00 2001 From: lilnasy <69170106+lilnasy@users.noreply.github.com> Date: Wed, 20 Dec 2023 21:55:37 +0000 Subject: [PATCH 1/2] helpful message for DuplicateContentEntry --- .../astro/src/content/vite-plugin-content-virtual-mod.ts | 7 ++++++- packages/astro/src/core/errors/errors-data.ts | 8 ++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/astro/src/content/vite-plugin-content-virtual-mod.ts b/packages/astro/src/content/vite-plugin-content-virtual-mod.ts index 92d47003e78d..7195ffffebe7 100644 --- a/packages/astro/src/content/vite-plugin-content-virtual-mod.ts +++ b/packages/astro/src/content/vite-plugin-content-virtual-mod.ts @@ -261,7 +261,12 @@ export async function generateLookupMap({ if (lookupMap[collection]?.entries?.[slug]) { throw new AstroError({ ...AstroErrorData.DuplicateContentEntrySlugError, - message: AstroErrorData.DuplicateContentEntrySlugError.message(collection, slug), + message: AstroErrorData.DuplicateContentEntrySlugError.message( + collection, + slug, + lookupMap[collection]!.entries[slug], + rootRelativePath(root, filePath), + ), hint: slug !== generatedSlug ? `Check the \`slug\` frontmatter property in **${id}**.` diff --git a/packages/astro/src/core/errors/errors-data.ts b/packages/astro/src/core/errors/errors-data.ts index 57176e5a3d0a..3cfc71aadf15 100644 --- a/packages/astro/src/core/errors/errors-data.ts +++ b/packages/astro/src/core/errors/errors-data.ts @@ -1292,8 +1292,12 @@ export const DataCollectionEntryParseError = { export const DuplicateContentEntrySlugError = { name: 'DuplicateContentEntrySlugError', title: 'Duplicate content entry slug.', - message: (collection: string, slug: string) => { - return `**${collection}** contains multiple entries with the same slug: \`${slug}\`. Slugs must be unique.`; + message: (collection: string, slug: string, preExisting: string, alsoFound: string) => { + return `**${collection}** contains multiple entries with the same slug: \`${slug}\`. ` + + `Slugs must be unique.\n\n` + + `Entries: \n` + + `- ${preExisting}\n` + + `- ${alsoFound}`; }, } satisfies ErrorData; From b47703463434baf04cad85f64120d2e954c8eeb1 Mon Sep 17 00:00:00 2001 From: lilnasy <69170106+lilnasy@users.noreply.github.com> Date: Wed, 20 Dec 2023 22:06:30 +0000 Subject: [PATCH 2/2] add changeset --- .changeset/gold-zebras-burn.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/gold-zebras-burn.md diff --git a/.changeset/gold-zebras-burn.md b/.changeset/gold-zebras-burn.md new file mode 100644 index 000000000000..8cb15a42beaf --- /dev/null +++ b/.changeset/gold-zebras-burn.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +Improves error message for the case where two similarly named files result in the same content entry.