MCPcopy Create free account
hub / github.com/VemtoOrg/vemto2 / processFile

Function processFile

src/main/RenderableFileQueueHandler.ts:91–124  ·  view source on GitHub ↗
(file: RenderableFile)

Source from the content-addressed store, hash-verified

89 }
90
91 const processFile = async (file: RenderableFile) => {
92 try {
93 const relativeFilePath = path.join(file.path, file.name),
94 vemtoFiles = new BackgroundInternalFiles(project)
95
96 vemtoFiles.writeGeneratedFile(relativeFilePath, file.content)
97
98 const conflictManager = new ConflictManager(project, relativeFilePath)
99 conflictManager.setFileContent(file.content)
100
101 if(conflictManager.hasConflict() && !file.ignoreConflicts) {
102 const conflictsFileName = conflictManager.writeConflictFile()
103
104 setFileStatus(file, RenderableFileStatus.CONFLICT, {
105 conflictFileName: conflictsFileName
106 })
107
108 return false
109 }
110
111 writeProjectFile(relativeFilePath, file.content)
112
113 setFileStatus(file, RenderableFileStatus.RENDERED)
114
115 return true
116 } catch (error) {
117 console.log('Error processing file: ', file.name)
118 console.log(error)
119
120 setFileStatus(file, RenderableFileStatus.ERROR, {
121 error: error.message
122 })
123 }
124 }
125
126 const writeProjectFile = (relativeFilePath: string, formattedContent: string) => {
127 return FileSystem.writeProjectFile(project.getPath(), relativeFilePath, formattedContent)

Callers 1

generateOrRemoveFilesFunction · 0.85

Calls 8

writeGeneratedFileMethod · 0.95
setFileContentMethod · 0.95
hasConflictMethod · 0.95
writeConflictFileMethod · 0.95
setFileStatusFunction · 0.85
writeProjectFileFunction · 0.85
joinMethod · 0.80
logMethod · 0.45

Tested by

no test coverage detected