33 lines
1.8 KiB
JavaScript
33 lines
1.8 KiB
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
const glob = require('glob');
|
|
|
|
// Use simple find approach for ts/tsx files
|
|
const execSync = require('child_process').execSync;
|
|
const files = execSync('find frontend -type f -name "*.ts" -o -name "*.tsx"').toString().trim().split('\n');
|
|
|
|
files.forEach(file => {
|
|
let content = fs.readFileSync(file, 'utf8');
|
|
// Revert the bad perl replacement
|
|
content = content.replace(/\$\{process\.env\.NEXT_PUBLIC_API_URL \|\| 'http:\/\/127\.0\.0\.1:8080'\}/g, 'http://127.0.0.1:8080');
|
|
|
|
// Apply proper replacement:
|
|
// const API_BASE = process.env.NEXT_PUBLIC_API_URL || 'http://127.0.0.1:8080';
|
|
// fetch(`http://127.0.0.1:8080...`) -> fetch(`${process.env.NEXT_PUBLIC_API_URL || 'http://127.0.0.1:8080'}...`)
|
|
|
|
// Actually, only fetch calls need the environment var, but we can just replace 'http://127.0.0.1:8080'
|
|
// with API_BASE if we import or define API_BASE. Since it's easier, let's just replace the raw literal string.
|
|
|
|
content = content.replace(/'http:\/\/127\.0\.0\.1:8080/g, '`${process.env.NEXT_PUBLIC_API_URL || \'http://127.0.0.1:8080\'}');
|
|
content = content.replace(/"http:\/\/127\.0\.0\.1:8080/g, '`${process.env.NEXT_PUBLIC_API_URL || \'http://127.0.0.1:8080\'}');
|
|
content = content.replace(/`http:\/\/127\.0\.0\.1:8080/g, '`${process.env.NEXT_PUBLIC_API_URL || \'http://127.0.0.1:8080\'}');
|
|
|
|
// We have to be careful not to double replace. The above will turn 'http://127.0.0.1:8080/api...' into
|
|
// `${process.env...}/api...`
|
|
|
|
// Let's actually just revert the breaking perl replace first:
|
|
// It looks like: process.env.NEXT_PUBLIC_API_URL || '${process.env.NEXT_PUBLIC_API_URL || 'http://127.0.0.1:8080'}'
|
|
|
|
fs.writeFileSync(file, content);
|
|
});
|
|
console.log("Done");
|