fix: properly handle absolute paths in CreatedModifiedDate (#790)
				
					
				
			When providing an absolute path to the content directory (e.g. when using an Obsidian Vault in another directory), the build step would fail with
    Failed to process `/absolute/path/to/file.md`: ENOENT: no such file or directory, stat '/current/working/directory/absolute/path/'
This problem originated in the `CreatedModifiedDate` transformer which tries to construct a native filesystem path to the file to call `fs.stat` on. It did not however, account for the original file path contained in the received `VFile` being an absolute path and so, just concatenated the current working directory with the absolute path producing a nonexistent one.
This patch adds a simple fix for this issue by checking if the original file path is already absolute before concatenating with the current working directory.
			
			
This commit is contained in:
		@@ -43,7 +43,7 @@ export const CreatedModifiedDate: QuartzTransformerPlugin<Partial<Options> | und
 | 
			
		||||
            let published: MaybeDate = undefined
 | 
			
		||||
 | 
			
		||||
            const fp = file.data.filePath!
 | 
			
		||||
            const fullFp = path.posix.join(file.cwd, fp)
 | 
			
		||||
            const fullFp = path.isAbsolute(fp) ? fp : path.posix.join(file.cwd, fp)
 | 
			
		||||
            for (const source of opts.priority) {
 | 
			
		||||
              if (source === "filesystem") {
 | 
			
		||||
                const st = await fs.promises.stat(fullFp)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user