Files
makemd/fix-axios-issues.js

52 lines
1.8 KiB
JavaScript
Raw Normal View History

const fs = require('fs');
const path = require('path');
const servicesDir = 'd:\\trae_projects\\makemd\\makemd\\dashboard\\src\\services';
const files = fs.readdirSync(servicesDir).filter(f => f.endsWith('DataSource.ts'));
const fixFile = (filename) => {
const filePath = path.join(servicesDir, filename);
if (!fs.existsSync(filePath)) {
console.log(`File not found: ${filePath}`);
return;
}
let content = fs.readFileSync(filePath, 'utf8');
let modified = false;
if (content.includes('.ok') || content.includes('.json()') || content.includes('body:')) {
content = content.replace(/if\s*\(\s*!response\.ok\s*\)\s*throw\s+new\s+Error[^;]+;/g, '');
content = content.replace(/if\s*\(\s*!res\.ok\s*\)\s*throw\s+new\s+Error[^;]+;/g, '');
content = content.replace(/const\s+result\s*=\s*await\s+response\.json\(\);/g, 'const result = response;');
content = content.replace(/const\s+result\s*=\s*await\s+res\.json\(\);/g, 'const result = res;');
content = content.replace(/return\s+response\.json\(\);/g, 'return response.data;');
content = content.replace(/return\s+res\.json\(\);/g, 'return res.data;');
content = content.replace(/return\s+res\.blob\(\);/g, 'return response.data;');
content = content.replace(/,\s*\{\s*body:\s*JSON\.stringify\(([^)]+)\)\s*\}/g, ', $1');
content = content.replace(/,\s*body:\s*([^,}\n]+)/g, ', $1');
modified = true;
}
if (modified) {
fs.writeFileSync(filePath, content, 'utf8');
console.log(`Fixed: ${filename}`);
} else {
console.log(`No changes needed: ${filename}`);
}
};
console.log('Fixing axios-related issues...\n');
files.forEach(file => {
try {
fixFile(file);
} catch (error) {
console.error(`Error fixing ${file}:`, error.message);
}
});
console.log('\nAll files processed!');