Skip to content

Commit

Permalink
Fix getEntryType failure on spaces in file name (#6218)
Browse files Browse the repository at this point in the history
* fix: avoid url -> file -> url parsing

* chore: changeset
  • Loading branch information
bholmesdev authored Feb 13, 2023
1 parent 2d72ea3 commit baa2dbb
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
5 changes: 5 additions & 0 deletions .changeset/orange-sheep-deliver.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'astro': patch
---

Fix: internal content collection error on spaces in file name
12 changes: 5 additions & 7 deletions packages/astro/src/content/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -163,11 +163,10 @@ export function getEntryType(
entryPath: string,
paths: Pick<ContentPaths, 'config'>
): 'content' | 'config' | 'ignored' | 'unsupported' {
const { dir: rawDir, ext, base } = path.parse(entryPath);
const dir = appendForwardSlash(pathToFileURL(rawDir).href);
const fileUrl = new URL(base, dir);
const { ext, base } = path.parse(entryPath);
const fileUrl = pathToFileURL(entryPath);

if (hasUnderscoreInPath(fileUrl) || isOnIgnoreList(fileUrl)) {
if (hasUnderscoreInPath(fileUrl) || isOnIgnoreList(base)) {
return 'ignored';
} else if ((contentFileExts as readonly string[]).includes(ext)) {
return 'content';
Expand All @@ -178,9 +177,8 @@ export function getEntryType(
}
}

function isOnIgnoreList(fileUrl: URL) {
const { base } = path.parse(fileURLToPath(fileUrl));
return ['.DS_Store'].includes(base);
function isOnIgnoreList(fileName: string) {
return ['.DS_Store'].includes(fileName);
}

function hasUnderscoreInPath(fileUrl: URL): boolean {
Expand Down

0 comments on commit baa2dbb

Please sign in to comment.