fix(changecache/prettier): Skip directories during file processing to prevent errors in changecache and prettier formatting

This commit is contained in:
2025-08-08 05:18:19 +00:00
parent 49a5a66440
commit 83d374dffd
4 changed files with 38 additions and 5 deletions

View File

@@ -38,7 +38,7 @@ export class ChangeCache {
};
}
const content = await plugins.smartfile.fs.toStringSync(this.manifestPath);
const content = plugins.smartfile.fs.toStringSync(this.manifestPath);
return JSON.parse(content);
}
@@ -59,7 +59,13 @@ export class ChangeCache {
// Get current file stats
const stats = await plugins.smartfile.fs.stat(absolutePath);
const content = await plugins.smartfile.fs.toStringSync(absolutePath);
// Skip directories
if (stats.isDirectory()) {
return false; // Directories are not processed
}
const content = plugins.smartfile.fs.toStringSync(absolutePath);
const currentChecksum = this.calculateChecksum(content);
// Get cached info
@@ -83,6 +89,12 @@ export class ChangeCache {
// Get current file stats
const stats = await plugins.smartfile.fs.stat(absolutePath);
// Skip directories
if (stats.isDirectory()) {
return; // Don't cache directories
}
const content = await plugins.smartfile.fs.toStringSync(absolutePath);
const checksum = this.calculateChecksum(content);

View File

@@ -15,8 +15,22 @@ export class PrettierFormatter extends BaseFormatter {
// Get all files that match the pattern
const files = await plugins.smartfile.fs.listFileTree('.', globPattern);
// Check which files need formatting
// Filter out any potential directories and ensure we only process files
const validFiles: string[] = [];
for (const file of files) {
try {
const stats = await plugins.smartfile.fs.stat(file);
if (!stats.isDirectory()) {
validFiles.push(file);
}
} catch (error) {
// Skip files that can't be accessed
logVerbose(`Skipping ${file} - cannot access: ${error.message}`);
}
}
// Check which files need formatting
for (const file of validFiles) {
// Skip files that haven't changed
if (!await this.shouldProcessFile(file)) {
logVerbose(`Skipping ${file} - no changes detected`);
@@ -85,7 +99,7 @@ export class PrettierFormatter extends BaseFormatter {
try {
// Read current content
const content = await plugins.smartfile.fs.toStringSync(change.path);
const content = plugins.smartfile.fs.toStringSync(change.path);
// Format with prettier
const prettier = await import('prettier');