84 lines
1.9 KiB
JavaScript
84 lines
1.9 KiB
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const map = {
|
|
',': ',',
|
|
'.': '.',
|
|
':': ':',
|
|
'?': '?',
|
|
'!': '!',
|
|
'"': '"',
|
|
'"': '"',
|
|
''': "'",
|
|
''': "'",
|
|
'(': '(',
|
|
')': ')',
|
|
'[': '[',
|
|
']': ']',
|
|
',': ',',
|
|
';': ';'
|
|
};
|
|
|
|
function getAllFiles(dirPath, arrayOfFiles) {
|
|
const files = fs.readdirSync(dirPath);
|
|
|
|
arrayOfFiles = arrayOfFiles || [];
|
|
|
|
files.forEach(function(file) {
|
|
if (fs.statSync(dirPath + "/" + file).isDirectory()) {
|
|
arrayOfFiles = getAllFiles(dirPath + "/" + file, arrayOfFiles);
|
|
} else {
|
|
if (extensions.some(ext => file.endsWith(ext))) {
|
|
arrayOfFiles.push(path.join(dirPath, "/", file));
|
|
}
|
|
}
|
|
});
|
|
|
|
return arrayOfFiles;
|
|
}
|
|
|
|
const srcDirAPI = path.join(__dirname);
|
|
const srcDirWEB = path.join(__dirname, '../WEB');
|
|
|
|
const targetDirs = [srcDirAPI, srcDirWEB];
|
|
|
|
const extensions = ['.ts', '.js', '.tsx', '.jsx', '.vue', '.html', '.css', '.scss', '.less', '.json', '.md'];
|
|
|
|
let count = 0;
|
|
|
|
targetDirs.forEach(dir => {
|
|
if (fs.existsSync(dir)) {
|
|
const files = getAllFiles(dir);
|
|
files.forEach(file => {
|
|
// Skip node_modules, .git, dist, build, .idea, .vscode
|
|
if (file.includes('/node_modules/') ||
|
|
file.includes('/.git/') ||
|
|
file.includes('/dist/') ||
|
|
file.includes('/build/') ||
|
|
file.includes('/.idea/') ||
|
|
file.includes('/.vscode/') ||
|
|
file.includes('/coverage/')) {
|
|
return;
|
|
}
|
|
|
|
let content = fs.readFileSync(file, 'utf8');
|
|
let originalContent = content;
|
|
|
|
for (const [cn, en] of Object.entries(map)) {
|
|
const regex = new RegExp(cn, 'g');
|
|
content = content.replace(regex, en);
|
|
}
|
|
|
|
if (content !== originalContent) {
|
|
fs.writeFileSync(file, content, 'utf8');
|
|
console.log(`Updated: ${file}`);
|
|
count++;
|
|
}
|
|
});
|
|
} else {
|
|
console.warn(`Directory not found: ${dir}`);
|
|
}
|
|
});
|
|
|
|
console.log(`Total files updated: ${count}`);
|