Skip to content

Commit

Permalink
Merge branch 'main' into add-validate-cli-tool
Browse files Browse the repository at this point in the history
  • Loading branch information
0marSalah authored Feb 11, 2025
2 parents f94134d + 0fbf1d4 commit 716ccda
Showing 1 changed file with 12 additions and 29 deletions.
41 changes: 12 additions & 29 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -198,16 +198,17 @@ export async function importActorProfile(

return await new Promise((resolve, reject) => {
extract.on('entry', (header, stream, next) => {
// Normalize fileName to include only `activitypub/filename`
const originalFileName = header.name
const basename = path.basename(originalFileName)
console?.log('🚀 ~ extract.on ~ basename:', basename)
const fileName = `activitypub/${basename}`
const fileName = `activitypub/${path.basename(originalFileName)}`

// Skip system-generated files
if (basename.startsWith('.')) {
if (
fileName.startsWith('activitypub/._') ||
fileName.endsWith('.DS_Store')
) {
console?.warn(`Skipping system-generated file: ${fileName}`)
next()
return
}

console?.log(`Processing file: ${fileName}`)
Expand All @@ -230,24 +231,14 @@ export async function importActorProfile(
console?.warn(`Unsupported file type: ${fileName}, skipping...`)
}
} catch (error: any) {
const errorMessage = `Error processing file ${fileName}: ${error.message}`
if (onError) {
onError(new Error(errorMessage), { fileName })
} else {
reject(new Error(errorMessage))
}
console?.error(`Error processing file ${fileName}:`, error.message)
} finally {
next() // Always continue
}
})

stream.on('error', (error: any) => {
const errorMessage = `Stream error on file ${fileName}: ${error.message}`
if (onError) {
onError(new Error(errorMessage), { fileName })
} else {
reject(new Error(errorMessage))
}
console?.error(`Stream error on file ${fileName}:`, error.message)
next() // Continue even on stream error
})
})
Expand All @@ -258,21 +249,13 @@ export async function importActorProfile(
})

extract.on('error', (error) => {
const errorMessage = `Error during tar extraction: ${error.message}`
if (onError) {
onError(new Error(errorMessage), {})
} else {
reject(new Error(errorMessage))
}
console.error('Error during tar extraction:', error.message)
reject(new Error('Failed to extract tar file.'))
})

tarStream.on('error', (error) => {
const errorMessage = `Error in tar stream: ${error.message}`
if (onError) {
onError(new Error(errorMessage), {})
} else {
reject(new Error(errorMessage))
}
console.error('Error in tar stream:', error.message)
reject(new Error('Failed to process tar stream.'))
})

tarStream.pipe(extract)
Expand Down

0 comments on commit 716ccda

Please sign in to comment.